Author: chetanm
Date: Thu Dec  8 05:18:02 2016
New Revision: 1773179

URL: http://svn.apache.org/viewvc?rev=1773179&view=rev
Log:
OAK-4400 - Correlate index with the index definition used to build it

Index definition refresh should only be done in async mode

Modified:
    
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/LuceneIndexEditorContext.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=1773179&r1=1773178&r2=1773179&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 Dec  8 05:18:02 2016
@@ -122,7 +122,7 @@ public class LuceneIndexEditorContext {
         this.definitionBuilder = definition;
         this.indexWriterFactory = indexWriterFactory;
         this.definition = indexDefinition != null ? indexDefinition :
-                createIndexDefinition(root, definition, indexingContext);
+                createIndexDefinition(root, definition, indexingContext, 
asyncIndexing);
         this.indexedNodes = 0;
         this.updateCallback = updateCallback;
         this.extractedTextCache = extractedTextCache;
@@ -288,9 +288,9 @@ public class LuceneIndexEditorContext {
     }
 
     private static IndexDefinition createIndexDefinition(NodeState root, 
NodeBuilder definition, IndexingContext
-            indexingContext) {
+            indexingContext, boolean asyncIndexing) {
         NodeState defnState = definition.getBaseState();
-        if (definition.getBoolean(LuceneIndexConstants.PROP_REFRESH_DEFN)){
+        if (definition.getBoolean(LuceneIndexConstants.PROP_REFRESH_DEFN) && 
asyncIndexing){
             definition.removeProperty(LuceneIndexConstants.PROP_REFRESH_DEFN);
             definition.setChildNode(IndexDefinition.INDEX_DEFINITION_NODE, 
NodeStateCloner.cloneVisibleState(defnState));
             log.info("Refreshed the index definition for [{}]", 
indexingContext.getIndexPath());


Reply via email to