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/09/15 07:14:19 UTC

svn commit: r1760832 - in /jackrabbit/oak/trunk/oak-lucene/src: main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexEditorContext.java test/java/org/apache/jackrabbit/oak/plugins/index/lucene/hybrid/HybridIndexTest.java

Author: chetanm
Date: Thu Sep 15 07:14:19 2016
New Revision: 1760832

URL: http://svn.apache.org/viewvc?rev=1760832&view=rev
Log:
OAK-4412 - Lucene hybrid index

Initialize the facet config lazily otherwise it was leading to creation of an empty node ':facet-config' when context was created for sync commits and was thus causing side effects.

Modified:
    jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexEditorContext.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/LuceneIndexEditorContext.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexEditorContext.java?rev=1760832&r1=1760831&r2=1760832&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexEditorContext.java (original)
+++ jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexEditorContext.java Thu Sep 15 07:14:19 2016
@@ -55,7 +55,7 @@ public class LuceneIndexEditorContext {
     private static final PerfLogger PERF_LOGGER =
             new PerfLogger(LoggerFactory.getLogger(LuceneIndexEditorContext.class.getName() + ".perf"));
 
-    private final FacetsConfig facetsConfig;
+    private FacetsConfig facetsConfig;
 
     private static final Parser defaultParser = createDefaultParser();
 
@@ -107,7 +107,6 @@ public class LuceneIndexEditorContext {
         if (this.definition.isOfOldFormat()){
             IndexDefinition.updateDefinition(definition);
         }
-        this.facetsConfig = FacetHelper.getFacetsConfig(definition);
     }
 
     Parser getParser() {
@@ -197,6 +196,9 @@ public class LuceneIndexEditorContext {
     }
 
     FacetsConfig getFacetsConfig() {
+        if (facetsConfig == null){
+            facetsConfig = FacetHelper.getFacetsConfig(definitionBuilder);
+        }
         return facetsConfig;
     }
 

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=1760832&r1=1760831&r2=1760832&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 Thu Sep 15 07:14:19 2016
@@ -128,16 +128,12 @@ public class HybridIndexTest extends Abs
         Tree idx = createIndex(root.getTree("/"), idxName, Collections.singleton("foo"));
         idx.setProperty(createProperty(IndexConstants.ASYNC_PROPERTY_NAME, ImmutableSet.of("sync" , "async"), STRINGS));
         root.commit();
-        //Run base reindex so reindex flag gets reset to false
-        runAsyncIndex();
 
         //Get initial indexing done as local indexing only work
         //for incremental indexing
         createPath("/a").setProperty("foo", "bar");
         root.commit();
 
-        //TODO This is required as LuceneIndexEditorContext has side effect of creating a facet
-        //config node
         runAsyncIndex();
 
         setTraversalEnabled(false);