Author: thomasm
Date: Fri Mar 22 09:12:44 2019
New Revision: 1856033
URL: http://svn.apache.org/viewvc?rev=1856033&view=rev
Log:
OAK-7991 Composite node store: tests with queries (code documentation)
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexUpdate.java
jackrabbit/oak/trunk/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/IndexDefinition.java
Modified:
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexUpdate.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexUpdate.java?rev=1856033&r1=1856032&r2=1856033&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexUpdate.java
(original)
+++
jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexUpdate.java
Fri Mar 22 09:12:44 2019
@@ -231,6 +231,11 @@ public class IndexUpdate implements Edit
// might be set to 'false' (possible via content import).
// However if its already indexed i.e. has some hidden nodes
(containing hidden data)
// then no need to reindex
+
+ // WARNING: If there is _any_ hidden node, then it is assumed that
+ // no reindex is needed. Even if the hidden node is completely
unrelated
+ // and doesn't contain index data (for example the node ":status").
+ // See also OAK-7991.
boolean result =
!before.getChildNode(INDEX_DEFINITIONS_NAME).hasChildNode(name)
&& !hasAnyHiddenNodes(definition);
if (result) {
@@ -242,7 +247,7 @@ public class IndexUpdate implements Edit
private static boolean hasAnyHiddenNodes(NodeBuilder builder){
for (String name : builder.getChildNodeNames()) {
- if (NodeStateUtils.isHidden(name)){
+ if (NodeStateUtils.isHidden(name)) {
NodeBuilder childNode = builder.getChildNode(name);
if (childNode.getBoolean(IndexConstants.REINDEX_RETAIN)) {
continue;
Modified:
jackrabbit/oak/trunk/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/IndexDefinition.java
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/IndexDefinition.java?rev=1856033&r1=1856032&r2=1856033&view=diff
==============================================================================
---
jackrabbit/oak/trunk/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/IndexDefinition.java
(original)
+++
jackrabbit/oak/trunk/oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/IndexDefinition.java
Fri Mar 22 09:12:44 2019
@@ -593,7 +593,12 @@ public class IndexDefinition implements
}
/**
- * Check if the index definition is fresh of some index has happened
+ * Check if the index definition is fresh, or (some) indexing has occurred.
+ *
+ * WARNING: If there is _any_ hidden node, then it is assumed that
+ * no reindex is needed. Even if the hidden node is completely unrelated
+ * and doesn't contain index data (for example the node ":status").
+ * See also OAK-7991.
*
* @param definition nodestate for Index Definition
* @return true if index has some indexed content