Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

ACL Package installation fails due to node traversal from ACTool #666

Unanswered
skuma52 asked this question in Q&A
Discussion options

While installing ACL package from AC tool its triggering the following query and the installation fails with node traversal error.

When we checked with Adobe they informed taht the query is written in the tool. It is the responsibility of the tool owner to make sure that his custom query is optimized. This can involve creating custom index for the custom query. If the query is not optimized or custom index is not created then it will pick up default index (rightly so) which may not be optimized for the custom query.

Please let us know if any fix for this.

Query:
SELECT ace.* FROM [rep:ACE] AS ace WHERE ace.[rep:principalName] IS NOT NULL AND ISDESCENDANTNODE(ace, [/content])

Error Log:

27.02.2023 05:40:24.182 *WARN* [qtp1631572920-264103-ACTool-Config-Worker] org.apache.jackrabbit.oak.plugins.index.property.strategy.ContentMirrorStoreStrategy Index-Traversed 80000 nodes (146406 index entries) using index acPrincipalName with filter Filter(query=SELECT ace.* FROM [rep:ACE] AS ace WHERE ace.[rep:principalName] IS NOT NULL AND ISDESCENDANTNODE(ace, [/content]), path=/content//*, property=[rep:principalName=[is not null]]) 
27.02.2023 05:40:24.321 *WARN* [qtp1631572920-264103-ACTool-Config-Worker] org.apache.jackrabbit.oak.plugins.index.property.strategy.ContentMirrorStoreStrategy Index-Traversed 90000 nodes (165027 index entries) using index acPrincipalName with filter Filter(query=SELECT ace.* FROM [rep:ACE] AS ace WHERE ace.[rep:principalName] IS NOT NULL AND ISDESCENDANTNODE(ace, [/content]), path=/content//*, property=[rep:principalName=[is not null]])
27.02.2023 05:40:24.458 *WARN* [qtp1631572920-264103-ACTool-Config-Worker] org.apache.jackrabbit.oak.plugins.index.property.strategy.ContentMirrorStoreStrategy Index-Traversed 100000 nodes (183563 index entries) using index acPrincipalName with filter Filter(query=SELECT ace.* FROM [rep:ACE] AS ace WHERE ace.[rep:principalName] IS NOT NULL AND ISDESCENDANTNODE(ace, [/content]), path=/content//*, property=[rep:principalName=[is not null]])
27.02.2023 05:40:24.589 *WARN* [qtp1631572920-264103-ACTool-Config-Worker] org.apache.jackrabbit.oak.query.FilterIterators The query read or traversed more than 100000 nodes.
org.apache.jackrabbit.oak.query.RuntimeNodeTraversalException: The query read or traversed more than 100000 nodes. To avoid affecting other tasks, processing was stopped.
   at org.apache.jackrabbit.oak.query.FilterIterators.checkReadLimit([FilterIterators.java:70](http://filteriterators.java:70/)) [org.apache.jackrabbit.oak-core:1.22.11]
   at org.apache.jackrabbit.oak.plugins.index.property.strategy.ContentMirrorStoreStrategy$PathIterator.fetchNextPossiblyDuplicate([ContentMirrorStoreStrategy.java:458](http://contentmirrorstorestrategy.java:458/)) [org.apache.jackrabbit.oak-core:1.22.11]
   at org.apache.jackrabbit.oak.plugins.index.property.strategy.ContentMirrorStoreStrategy$PathIterator.fetchNext([ContentMirrorStoreStrategy.java:401](http://contentmirrorstorestrategy.java:401/)) [org.apache.jackrabbit.oak-core:1.22.11]
   at [org.apache.jackrabbit.oak.plugins.index.property.strategy.ContentMirrorStoreStrategy$PathIterator.next](http://org.apache.jackrabbit.oak.plugins.index.property.strategy.contentmirrorstorestrategy%24pathiterator.next/)([ContentMirrorStoreStrategy.java:485](http://contentmirrorstorestrategy.java:485/)) [org.apache.jackrabbit.oak-core:1.22.11]
   at [org.apache.jackrabbit.oak.plugins.index.property.strategy.ContentMirrorStoreStrategy$PathIterator.next](http://org.apache.jackrabbit.oak.plugins.index.property.strategy.contentmirrorstorestrategy%24pathiterator.next/)([ContentMirrorStoreStrategy.java:337](http://contentmirrorstorestrategy.java:337/)) [org.apache.jackrabbit.oak-core:1.22.11]
   at [com.google.common.collect.Iterators5ドル.next](http://com.google.common.collect.iterators%245.next/)([Iterators.java:553](http://iterators.java:553/))
   at com.google.common.collect.Iterators7ドル.computeNext([Iterators.java:646](http://iterators.java:646/))
   at com.google.common.collect.AbstractIterator.tryToComputeNext([AbstractIterator.java:143](http://abstractiterator.java:143/))
   at com.google.common.collect.AbstractIterator.hasNext([AbstractIterator.java:138](http://abstractiterator.java:138/))
   at org.apache.jackrabbit.oak.plugins.index.Cursors$PathCursor.hasNext([Cursors.java:216](http://cursors.java:216/)) [org.apache.jackrabbit.oak-core:1.22.11]
   at org.apache.jackrabbit.oak.query.ast.SelectorImpl.nextInternal([SelectorImpl.java:515](http://selectorimpl.java:515/)) [org.apache.jackrabbit.oak-core:1.22.11]
   at [org.apache.jackrabbit.oak.query.ast.SelectorImpl.next](http://org.apache.jackrabbit.oak.query.ast.selectorimpl.next/)([SelectorImpl.java:508](http://selectorimpl.java:508/)) [org.apache.jackrabbit.oak-core:1.22.11]
   at org.apache.jackrabbit.oak.query.QueryImpl$RowIterator.fetchNext([QueryImpl.java:876](http://queryimpl.java:876/)) [org.apache.jackrabbit.oak-core:1.22.11]
   at org.apache.jackrabbit.oak.query.QueryImpl$RowIterator.hasNext([QueryImpl.java:903](http://queryimpl.java:903/)) [org.apache.jackrabbit.oak-core:1.22.11]
   at org.apache.jackrabbit.oak.jcr.query.QueryResultImpl4ドル.fetch([QueryResultImpl.java:186](http://queryresultimpl.java:186/)) [org.apache.jackrabbit.oak-jcr:1.22.11]
   at [org.apache.jackrabbit.oak.jcr.query.QueryResultImpl4ドル.next](http://org.apache.jackrabbit.oak.jcr.query.queryresultimpl%244.next/)([QueryResultImpl.java:212](http://queryresultimpl.java:212/)) [org.apache.jackrabbit.oak-jcr:1.22.11]
   at [org.apache.jackrabbit.oak.jcr.query.QueryResultImpl4ドル.next](http://org.apache.jackrabbit.oak.jcr.query.queryresultimpl%244.next/)([QueryResultImpl.java:175](http://queryresultimpl.java:175/)) [org.apache.jackrabbit.oak-jcr:1.22.11]
   at [org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate$SynchronizedIterator.next](http://org.apache.jackrabbit.oak.jcr.delegate.sessiondelegate%24synchronizediterator.next/)([SessionDelegate.java:702](http://sessiondelegate.java:702/)) [org.apache.jackrabbit.oak-jcr:1.22.11]
   at [org.apache.jackrabbit.oak.jcr.query.PrefetchIterator.next](http://org.apache.jackrabbit.oak.jcr.query.prefetchiterator.next/)([PrefetchIterator.java:88](http://prefetchiterator.java:88/)) [org.apache.jackrabbit.oak-jcr:1.22.11]
   at [org.apache.jackrabbit.commons.iterator.RangeIteratorAdapter.next](http://org.apache.jackrabbit.commons.iterator.rangeiteratoradapter.next/)([RangeIteratorAdapter.java:152](http://rangeiteratoradapter.java:152/)) [org.apache.jackrabbit.jackrabbit-jcr-commons:2.20.4]
You must be logged in to vote

Replies: 1 comment 4 replies

Comment options

You must be logged in to vote
4 replies
Comment options

Hi @kwin

We have tried with version 3.0.8 which has that index configuration and the latest changes https://github.com/Netcentric/accesscontroltool/pull/664/files are available with version 3.0.8 I assume but still seeing node traversal error

MicrosoftTeams-image

Comment options

kwin Apr 25, 2023
Maintainer

Please share the full stack trace of the traversal exception as I am not sure this is really coming from ACTool. Also please share a reproducer YAML file.

Comment options

please find full stack trace below:

27.02.2023 05:40:24.182 WARN [qtp1631572920-264103-ACTool-Config-Worker] org.apache.jackrabbit.oak.plugins.index.property.strategy.ContentMirrorStoreStrategy Index-Traversed 80000 nodes (146406 index entries) using index acPrincipalName with filter Filter(query=SELECT ace.* FROM [rep:ACE] AS ace WHERE ace.[rep:principalName] IS NOT NULL AND ISDESCENDANTNODE(ace, [/content]), path=/content//, property=[rep:principalName=[is not null]])
27.02.2023 05:40:24.321 WARN [qtp1631572920-264103-ACTool-Config-Worker] org.apache.jackrabbit.oak.plugins.index.property.strategy.ContentMirrorStoreStrategy Index-Traversed 90000 nodes (165027 index entries) using index acPrincipalName with filter Filter(query=SELECT ace.
FROM [rep:ACE] AS ace WHERE ace.[rep:principalName] IS NOT NULL AND ISDESCENDANTNODE(ace, [/content]), path=/content//, property=[rep:principalName=[is not null]])
27.02.2023 05:40:24.458 WARN [qtp1631572920-264103-ACTool-Config-Worker] org.apache.jackrabbit.oak.plugins.index.property.strategy.ContentMirrorStoreStrategy Index-Traversed 100000 nodes (183563 index entries) using index acPrincipalName with filter Filter(query=SELECT ace.
FROM [rep:ACE] AS ace WHERE ace.[rep:principalName] IS NOT NULL AND ISDESCENDANTNODE(ace, [/content]), path=/content//*, property=[rep:principalName=[is not null]])
27.02.2023 05:40:24.589 WARN [qtp1631572920-264103-ACTool-Config-Worker] org.apache.jackrabbit.oak.query.FilterIterators The query read or traversed more than 100000 nodes.
org.apache.jackrabbit.oak.query.RuntimeNodeTraversalException: The query read or traversed more than 100000 nodes. To avoid affecting other tasks, processing was stopped.
at org.apache.jackrabbit.oak.query.FilterIterators.checkReadLimit(FilterIterators.java:70) [org.apache.jackrabbit.oak-core:1.22.11]
at org.apache.jackrabbit.oak.plugins.index.property.strategy.ContentMirrorStoreStrategy$PathIterator.fetchNextPossiblyDuplicate(ContentMirrorStoreStrategy.java:458) [org.apache.jackrabbit.oak-core:1.22.11]
at org.apache.jackrabbit.oak.plugins.index.property.strategy.ContentMirrorStoreStrategy$PathIterator.fetchNext(ContentMirrorStoreStrategy.java:401) [org.apache.jackrabbit.oak-core:1.22.11]
at org.apache.jackrabbit.oak.plugins.index.property.strategy.ContentMirrorStoreStrategy$PathIterator.next(ContentMirrorStoreStrategy.java:485) [org.apache.jackrabbit.oak-core:1.22.11]
at org.apache.jackrabbit.oak.plugins.index.property.strategy.ContentMirrorStoreStrategy$PathIterator.next(ContentMirrorStoreStrategy.java:337) [org.apache.jackrabbit.oak-core:1.22.11]
at com.google.common.collect.Iterators5ドル.next(Iterators.java:553)
at com.google.common.collect.Iterators7ドル.computeNext(Iterators.java:646)
at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143)
at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138)
at org.apache.jackrabbit.oak.plugins.index.Cursors$PathCursor.hasNext(Cursors.java:216) [org.apache.jackrabbit.oak-core:1.22.11]
at org.apache.jackrabbit.oak.query.ast.SelectorImpl.nextInternal(SelectorImpl.java:515) [org.apache.jackrabbit.oak-core:1.22.11]
at org.apache.jackrabbit.oak.query.ast.SelectorImpl.next(SelectorImpl.java:508) [org.apache.jackrabbit.oak-core:1.22.11]
at org.apache.jackrabbit.oak.query.QueryImpl$RowIterator.fetchNext(QueryImpl.java:876) [org.apache.jackrabbit.oak-core:1.22.11]
at org.apache.jackrabbit.oak.query.QueryImpl$RowIterator.hasNext(QueryImpl.java:903) [org.apache.jackrabbit.oak-core:1.22.11]
at org.apache.jackrabbit.oak.jcr.query.QueryResultImpl4ドル.fetch(QueryResultImpl.java:186) [org.apache.jackrabbit.oak-jcr:1.22.11]
at org.apache.jackrabbit.oak.jcr.query.QueryResultImpl4ドル.next(QueryResultImpl.java:212) [org.apache.jackrabbit.oak-jcr:1.22.11]
at org.apache.jackrabbit.oak.jcr.query.QueryResultImpl4ドル.next(QueryResultImpl.java:175) [org.apache.jackrabbit.oak-jcr:1.22.11]
at org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate$SynchronizedIterator.next(SessionDelegate.java:702) [org.apache.jackrabbit.oak-jcr:1.22.11]
at org.apache.jackrabbit.oak.jcr.query.PrefetchIterator.next(PrefetchIterator.java:88) [org.apache.jackrabbit.oak-jcr:1.22.11]
at org.apache.jackrabbit.commons.iterator.RangeIteratorAdapter.next(RangeIteratorAdapter.java:152) [org.apache.jackrabbit.jackrabbit-jcr-commons:2.20.4]

Comment options

@kwin any insights on the error above as the index present not helping the traversal error

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants

AltStyle によって変換されたページ (->オリジナル) /