You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by ch...@apache.org on 2016/12/05 09:57:55 UTC
svn commit: r1772617 - in /jackrabbit/oak/trunk/oak-lucene/src:
main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexDefinition.java
test/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/HybridIndexTest.java
Author: chetanm
Date: Mon Dec 5 09:57:55 2016
New Revision: 1772617
URL: http://svn.apache.org/viewvc?rev=1772617&view=rev
Log:
OAK-5220 - Remove usage of NodeBuilder in IndexDefinition
reindexCount is only required for case where index has yet not been reindexed and hence not able to use unique id. So we need to read from NodeBuilder as the count should be present in persisted NodeState and current count is not required any more
Modified:
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexDefinition.java
jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/HybridIndexTest.java
Modified: jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexDefinition.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexDefinition.java?rev=1772617&r1=1772616&r2=1772617&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexDefinition.java (original)
+++ jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexDefinition.java Mon Dec 5 09:57:55 2016
@@ -307,7 +307,7 @@ public final class IndexDefinition imple
this.suggesterUpdateFrequencyMinutes = evaluateSuggesterUpdateFrequencyMinutes(defn,
DEFAULT_SUGGESTER_UPDATE_FREQUENCY_MINUTES);
this.scorerProviderName = getOptionalValue(defn, LuceneIndexConstants.PROP_SCORER_PROVIDER, null);
- this.reindexCount = determineReindexCount(defn, defnb);
+ this.reindexCount = getOptionalValue(defn, REINDEX_COUNT, 0);
this.pathFilter = PathFilter.from(new ReadOnlyBuilder(defn));
this.queryPaths = getQueryPaths(defn);
this.saveDirListing = getOptionalValue(defn, LuceneIndexConstants.SAVE_DIR_LISTING, true);
@@ -1589,18 +1589,6 @@ public final class IndexDefinition imple
return defn.getChildNode(LuceneIndexConstants.INDEX_RULES).exists();
}
- private static long determineReindexCount(NodeState defn, NodeBuilder defnb) {
- //Give precedence to count from builder as that reflects the latest state
- //and might be higher than one from nodeState which is the base state
- if (defnb != null && defnb.hasProperty(REINDEX_COUNT)) {
- return defnb.getProperty(REINDEX_COUNT).getValue(Type.LONG);
- }
- if (defn.hasProperty(REINDEX_COUNT)) {
- return defn.getProperty(REINDEX_COUNT).getValue(Type.LONG);
- }
- return 0;
- }
-
@CheckForNull
private static String determineUniqueId(NodeState defn, @Nullable NodeBuilder defnb) {
String uid = null;
Modified: jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/HybridIndexTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/HybridIndexTest.java?rev=1772617&r1=1772616&r2=1772617&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/HybridIndexTest.java (original)
+++ jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/HybridIndexTest.java Mon Dec 5 09:57:55 2016
@@ -31,6 +31,7 @@ import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import com.google.common.base.Predicate;
+import org.apache.jackrabbit.JcrConstants;
import org.apache.jackrabbit.oak.Oak;
import org.apache.jackrabbit.oak.api.ContentRepository;
import org.apache.jackrabbit.oak.api.Tree;
@@ -45,6 +46,7 @@ import org.apache.jackrabbit.oak.plugins
import org.apache.jackrabbit.oak.plugins.index.lucene.TestUtil;
import org.apache.jackrabbit.oak.plugins.index.lucene.reader.DefaultIndexReaderFactory;
import org.apache.jackrabbit.oak.plugins.index.lucene.reader.LuceneIndexReaderFactory;
+import org.apache.jackrabbit.oak.plugins.index.lucene.util.IndexDefinitionBuilder;
import org.apache.jackrabbit.oak.plugins.index.nodetype.NodeTypeIndexProvider;
import org.apache.jackrabbit.oak.plugins.index.property.PropertyIndexEditorProvider;
import org.apache.jackrabbit.oak.plugins.memory.ArrayBasedBlob;
@@ -210,6 +212,22 @@ public class HybridIndexTest extends Abs
assertQuery("select [jcr:path] from [nt:base] where [foo] = 'bar'", of("/a", "/b"));
}
+ //@Test
+ public void usageBeforeFirstIndex() throws Exception{
+ IndexDefinitionBuilder idxb = new IndexDefinitionBuilder();
+ idxb.async("sync", "async");
+ idxb.indexRule("nt:base").property("foo").propertyIndex();
+ Tree idx = root.getTree("/oak:index").addChild("hybridtest");
+ idxb.build(idx);
+
+ root.commit();
+
+ createPath("/a").setProperty("foo", "bar");
+ root.commit();
+ setTraversalEnabled(false);
+ assertQuery("select [jcr:path] from [nt:base] where [foo] = 'bar'", of("/a"));
+ }
+
private void runAsyncIndex() {
Runnable async = WhiteboardUtils.getService(wb, Runnable.class, new Predicate<Runnable>() {
@Override