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());