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