[ https://issues.apache.org/jira/browse/OAK-8628?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16931362#comment-16931362 ]
Julian Reschke commented on OAK-8628: ------------------------------------- Looking some more I see in `Cursors`: {noformat} ChildNodeEntry entry = iterator.next(); readCount++; if (readCount % 1000 == 0) { FilterIterators.checkReadLimit(readCount, settings); LOG.warn("Traversed " + readCount + " nodes with filter " + filter + "; consider creating an index or changing the query"); } NodeState node = entry.getNodeState(); String name = entry.getName(); if (NodeStateUtils.isHidden(name)) { continue; } currentPath = PathUtils.concat(parentPath, name); {noformat} So what get's tested for "hidden" is the return value of `ChildNodeEnty.getName()`. How can that be a full path??? > NodeStateUtils.isHidden expects names but get's called with paths > ----------------------------------------------------------------- > > Key: OAK-8628 > URL: https://issues.apache.org/jira/browse/OAK-8628 > Project: Jackrabbit Oak > Issue Type: Bug > Components: store-spi > Reporter: Julian Reschke > Priority: Major > > For instance with "/test" from > {noformat} > 10:30:12.983 ERROR [main] NodeStateUtils.java:50 /test > java.lang.Exception: call stack > at > org.apache.jackrabbit.oak.spi.state.NodeStateUtils.isHidden(NodeStateUtils.java:50) > at > org.apache.jackrabbit.oak.plugins.index.Cursors$TraversingCursor.fetchNext(Cursors.java:348) > at > org.apache.jackrabbit.oak.plugins.index.Cursors$TraversingCursor.hasNext(Cursors.java:327) > at > org.apache.jackrabbit.oak.query.ast.SelectorImpl.nextInternal(SelectorImpl.java:515) > at > org.apache.jackrabbit.oak.query.ast.SelectorImpl.next(SelectorImpl.java:508) > {noformat} > We should either change doc and impl to handle paths, or enforce the contract > and chagne other code to use `isHiddenPath()` instead. -- This message was sent by Atlassian Jira (v8.3.2#803003)