[ 
https://issues.apache.org/jira/browse/OAK-7991?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16797200#comment-16797200
 ] 

Thomas Mueller commented on OAK-7991:
-------------------------------------

I also found that the index isn't built if a hidden node ":status" exists. This 
is unexpected, but if I would change the code as below, then some other tests 
would fail. So maybe better leave it for now... I will only add documentation 
in the code.

{noformat}
===================================================================
--- 
oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexUpdate.java 
    (revision 1853143)
+++ 
oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/IndexUpdate.java 
    (working copy)
@@ -242,7 +242,11 @@
 
     private static boolean hasAnyHiddenNodes(NodeBuilder builder){
         for (String name : builder.getChildNodeNames()) {
-            if (NodeStateUtils.isHidden(name)){
+            if (NodeStateUtils.isHidden(name)) {
+//                if (name.equals(":status")) {
+//                    // ignore the status node, as that's not index content
+//                    continue;
+//                }
                 NodeBuilder childNode = builder.getChildNode(name);
                 if (childNode.getBoolean(IndexConstants.REINDEX_RETAIN)) {
                     continue;
Index: 
oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/IndexDefinition.java
===================================================================
--- 
oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/IndexDefinition.java
        (revision 1853143)
+++ 
oak-search/src/main/java/org/apache/jackrabbit/oak/plugins/index/search/IndexDefinition.java
        (working copy)
@@ -600,6 +600,10 @@
      */
     public static boolean hasPersistedIndex(NodeState definition){
         for (String rm : definition.getChildNodeNames()) {
+//            if (rm.equals(IndexDefinition.STATUS_NODE)) {
+//                // ignore the status node, as that's not index content
+//                continue;
+//            }
             if (NodeStateUtils.isHidden(rm)) {
                 return true;
             }
{noformat}

> Composite node store: tests with queries
> ----------------------------------------
>
>                 Key: OAK-7991
>                 URL: https://issues.apache.org/jira/browse/OAK-7991
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: composite, indexing
>            Reporter: Thomas Mueller
>            Priority: Major
>         Attachments: OAK-7991-a.patch, OAK-7991-b.patch
>
>
> Right now there seem to be no tests that run queries and use the composite 
> node store. This is dangerous, as a lot of code is not tested. Also, it 
> prevents refactoring and adding new features.
> We have seen quite many problems in this area lately, for example:
> * creating indexes with a composite nodestore didn't work
> * changing the Lucene index to lazily load the index files doesn't work



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to