java.lang.UnsupportedOperationException: The query read or traversed more than 100000 nodes.



Hi ,

I am facing an issue in running the query through my deployed code in AEM.

The map is created as below:

Map<String, String> map = new HashMap<>();

map.put('path', 'path-here');


map.put("1_property", 'content-type');

map.put("1_property.value", 'value');

map.put("2_property", 'second-property');

map.put("2_property.value", 'true');

map.put("property.and", true);

map.put("orderby",'property to be ordered by');

map.put("p.limit", "-1");

The query.getResult() returns UnsupportedOperationException

When I run the same query in CRX/DE with SQL format I do not face this kind of exception.

select * from oak:Unstructured where jcr:path like 'path-here%'

and contains([content-type], 'value')

and [second-property]='true'

I noticed one thing: If I execute the above SQL query in CRX/DE lite with just changing "contains" to "=" sign as below, I get the below error in CRX/DE lite as well.

"The query read or traversed more than 10000 nodes. To avoid affecting other tasks, processing was stopped."

select * from oak:Unstructured where jcr:path like 'path-here%'

and [content-type]= 'value'

and [second-property]='true'

Can somebody help me?



Accepted Solutions (1)

Accepted Solutions (1)




Use AEM Plugin to find the query that gets triggered and use the oakutils tool to create an index.

The 100000 limit is set at [3] from the JMX console to prevent the AEM instance running out of memory when a traversal query is triggered.


[2] Oak Utilities : Index Definition Generator

[3] <host>:<port>/system/console/jmx/org.apache.jackrabbit.oak%3Aname%3Dsettings%2Ctype%3DQueryEngineSettings

Answers (5)

Answers (5)