You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by th...@apache.org on 2019/03/22 09:12:45 UTC
svn commit: r1856033 - in /jackrabbit/oak/trunk:
oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexUpdate.java
oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/IndexDefinition.java
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