Author: chetanm
Date: Thu Dec 8 05:18:11 2016
New Revision: 1773180
URL: http://svn.apache.org/viewvc?rev=1773180&view=rev
Log:
OAK-4400 - Correlate index with the index definition used to build it
Moved the feature flag to IndexDefinition as its also to be used there
Modified:
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/IndexDefinition.java
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/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=1773180&r1=1773179&r2=1773180&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
Thu Dec 8 05:18:11 2016
@@ -99,6 +99,16 @@ public final class IndexDefinition imple
private static final Logger log =
LoggerFactory.getLogger(IndexDefinition.class);
+ public static final boolean DISABLE_STORED_INDEX_DEFINITION =
+ Boolean.getBoolean("oak.lucene.disableStoredIndexDefinition");
+
+ static {
+ if (DISABLE_STORED_INDEX_DEFINITION){
+ log.info("Feature to ensure that index definition match the index
state is set to be disabled. Change in " +
+ "index definition would now effect query plans and might
lead to inconsistent results");
+ }
+ }
+
/**
* Default number of seconds after which to delete actively. Default is
-1, meaning disabled.
* The plan is to use 3600 (1 hour) in the future.
@@ -1685,6 +1695,9 @@ public final class IndexDefinition imple
}
private static NodeState getIndexDefinitionState(NodeState defn) {
+ if (DISABLE_STORED_INDEX_DEFINITION){
+ return defn;
+ }
NodeState storedState = defn.getChildNode(INDEX_DEFINITION_NODE);
return storedState.exists() ? storedState : defn;
}
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=1773180&r1=1773179&r2=1773180&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:11 2016
@@ -58,15 +58,7 @@ public class LuceneIndexEditorContext {
private static final PerfLogger PERF_LOGGER =
new
PerfLogger(LoggerFactory.getLogger(LuceneIndexEditorContext.class.getName() +
".perf"));
- private static final boolean disableStoredIndexDefinition =
- Boolean.getBoolean("oak.lucene.disableStoredIndexDefinition");
- static {
- if (disableStoredIndexDefinition){
- log.info("Feature to ensure that index definition match the index
state is set to be disabled. Change in " +
- "index definition would now effect query plans and might
lead to inconsistent results");
- }
- }
private FacetsConfig facetsConfig;
@@ -201,7 +193,7 @@ public class LuceneIndexEditorContext {
//as index definition does not get modified as part of IndexUpdate run
in most case we rely on base state
//For case where index definition is rewritten there we get fresh state
NodeState defnState = indexDefnRewritten ?
definitionBuilder.getNodeState() : definitionBuilder.getBaseState();
- if (!disableStoredIndexDefinition) {
+ if (!IndexDefinition.DISABLE_STORED_INDEX_DEFINITION) {
definitionBuilder.setChildNode(IndexDefinition.INDEX_DEFINITION_NODE,
NodeStateCloner.cloneVisibleState(defnState));
}
String uid = configureUniqueId(definitionBuilder);