-
Notifications
You must be signed in to change notification settings - Fork 92
-
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]
Beta Was this translation helpful? Give feedback.
All reactions
Replies: 1 comment 4 replies
-
Look at https://github.com/Netcentric/accesscontroltool/blob/develop/docs/Installation.md#oak-index-for-repacl. Have you installed the index configuration? Also there is https://github.com/Netcentric/accesscontroltool/pull/664/files which might help.
Beta Was this translation helpful? Give feedback.
All reactions
-
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
Beta Was this translation helpful? Give feedback.
All reactions
-
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.
Beta Was this translation helpful? Give feedback.
All reactions
-
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]
Beta Was this translation helpful? Give feedback.
All reactions
-
@kwin any insights on the error above as the index present not helping the traversal error
Beta Was this translation helpful? Give feedback.