Author: thomasm
Date: Fri Jul 5 14:23:11 2019
New Revision: 1862618
URL: http://svn.apache.org/viewvc?rev=1862618&view=rev
Log:
OAK-8462 Adding / changing 'useIfExists' should not cause reindex
Modified:
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/util/IndexDefinitionBuilder.java
jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/util/IndexDefinitionBuilderTest.java
Modified:
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/util/IndexDefinitionBuilder.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/util/IndexDefinitionBuilder.java?rev=1862618&r1=1862617&r2=1862618&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/util/IndexDefinitionBuilder.java
(original)
+++
jackrabbit/oak/trunk/oak-lucene/src/main/java/org/apache/jackrabbit/oak/plugins/index/lucene/util/IndexDefinitionBuilder.java
Fri Jul 5 14:23:11 2019
@@ -586,6 +586,7 @@ public final class IndexDefinitionBuilde
static final List<String> ignorablePropertiesList = of(
FulltextIndexConstants.PROP_WEIGHT,
FIELD_BOOST,
+ IndexConstants.USE_IF_EXISTS,
IndexConstants.QUERY_PATHS,
IndexConstants.INDEX_TAGS,
FulltextIndexConstants.BLOB_SIZE,
Modified:
jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/util/IndexDefinitionBuilderTest.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/util/IndexDefinitionBuilderTest.java?rev=1862618&r1=1862617&r2=1862618&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/util/IndexDefinitionBuilderTest.java
(original)
+++
jackrabbit/oak/trunk/oak-lucene/src/test/java/org/apache/jackrabbit/oak/plugins/index/lucene/util/IndexDefinitionBuilderTest.java
Fri Jul 5 14:23:11 2019
@@ -446,6 +446,34 @@ public class IndexDefinitionBuilderTest
assertTrue(currentNodeState.getBoolean(PROP_REFRESH_DEFN));
}
+
+ @Test
+ public void noReindexOnUseIfExists() throws Exception {
+ builder.indexRule("nt:base").property("foo1");
+
+ NodeState currentNodeState = builder.build();
+ nodeBuilder = currentNodeState.builder();
+
+ // Unset the reindex flag first because first build would have set it .
+ nodeBuilder.setProperty(REINDEX_PROPERTY_NAME, false);
+ builder = new IndexDefinitionBuilder(nodeBuilder);
+ // Add the "useIfExists" property
+ builder.getBuilderTree().setProperty(IndexConstants.USE_IF_EXISTS,
"/oak:index");
+ currentNodeState = builder.build();
+ assertFalse(currentNodeState.getBoolean(REINDEX_PROPERTY_NAME));
+ assertTrue(currentNodeState.getBoolean(PROP_REFRESH_DEFN));
+
+ // Now test deleting the flag - should also not set the reindexing flag
+ nodeBuilder = currentNodeState.builder();
+
+ nodeBuilder.removeProperty(PROP_REFRESH_DEFN);
+ builder = new IndexDefinitionBuilder(nodeBuilder);
+ builder.getBuilderTree().removeProperty(IndexConstants.USE_IF_EXISTS);
+
+ currentNodeState = builder.build();
+ assertFalse(currentNodeState.getBoolean(REINDEX_PROPERTY_NAME));
+ assertTrue(currentNodeState.getBoolean(PROP_REFRESH_DEFN));
+ }
// This is a node for configuration on how faceted search works
// Everything impacts querty time evauation - so no need of reindexing in
case of changes