Expand my Community achievements bar.

event.job.topic indexing AEM 6.2

Avatar

Level 3

A question about AEM performance, particularly workflow related activities, including usability of the Workflow Admin interface.

AEM 6.2 seems to disable by default the event.job.topic property index (/oak:index/event.job.topic).  

The intent SEEMS to be to replace this with the slingeventJob (/oak:index/slingeventJob) index.

However, as the volume of workflow data grows in a high volume environment the slingeventJob index under performs the old property index by an order of magnitude.  

Cost of the property index is always around 2.0, where the lucene index can be well over 300.0 

Re-enabling the property index seems to greatly improve performance. 

Is there a reason not to do this?  Could some tuning of the OOTB lucene index be a better option?

30.11.2016 12:08:40.647 *DEBUG* [10.230.129.209 [1480525710400] GET /libs/cq/workflow/content/console/instances.json HTTP/1.1] org.apache.jackrabbit.oak.query.QueryEngineImpl XPath > SQL2: select [jcr:path], [jcr:score], * from [slingevent:Job] as a where [event.job.topic] = 'com/adobe/granite/workflow/external/job' and [slingevent:finishedState] is null and isdescendantnode(a, '/var/eventing/jobs') order by [slingevent:created] /* xpath: /jcr:root/var/eventing/jobs//element(*,slingevent:Job)[@event.job.topic = 'com/adobe/granite/workflow/external/job' and not(@slingevent:finishedState)] order by @slingevent:created ascending */ 30.11.2016 12:08:40.647 *DEBUG* [10.230.129.209 [1480525710400] GET /libs/cq/workflow/content/console/instances.json HTTP/1.1] org.apache.jackrabbit.oak.query.QueryImpl cost using filter Filter(query=select [jcr:path], [jcr:score], * from [slingevent:Job] as a where [event.job.topic] = 'com/adobe/granite/workflow/external/job' and [slingevent:finishedState] is null and isdescendantnode(a, '/var/eventing/jobs') order by [slingevent:created] /* xpath: /jcr:root/var/eventing/jobs//element(*,slingevent:Job)[@event.job.topic = 'com/adobe/granite/workflow/external/job' and not(@slingevent:finishedState)] order by @slingevent:created ascending */, path=/var/eventing/jobs//*, property=[slingevent:finishedState=[is null], event.job.topic=[com/adobe/granite/workflow/external/job]]) 30.11.2016 12:08:40.647 *DEBUG* [10.230.129.209 [1480525710400] GET /libs/cq/workflow/content/console/instances.json HTTP/1.1] org.apache.jackrabbit.oak.query.QueryImpl cost for reference is Infinity 30.11.2016 12:08:40.648 *DEBUG* [10.230.129.209 [1480525710400] GET /libs/cq/workflow/content/console/instances.json HTTP/1.1] org.apache.jackrabbit.oak.query.QueryImpl cost for property is Infinity 30.11.2016 12:08:40.648 *DEBUG* [10.230.129.209 [1480525710400] GET /libs/cq/workflow/content/console/instances.json HTTP/1.1] org.apache.jackrabbit.oak.query.QueryImpl cost for nodeType is 91.0 30.11.2016 12:08:40.648 *DEBUG* [10.230.129.209 [1480525710400] GET /libs/cq/workflow/content/console/instances.json HTTP/1.1] org.apache.jackrabbit.oak.query.QueryImpl cost for lucene-property[/oak:index/slingeventJob] is 334.3333333333333 30.11.2016 12:08:40.648 *DEBUG* [10.230.129.209 [1480525710400] GET /libs/cq/workflow/content/console/instances.json HTTP/1.1] org.apache.jackrabbit.oak.query.QueryImpl cost for aggregate lucene is Infinity 30.11.2016 12:08:40.648 *DEBUG* [10.230.129.209 [1480525710400] GET /libs/cq/workflow/content/console/instances.json HTTP/1.1] org.apache.jackrabbit.oak.query.QueryImpl cost for solr is Infinity 30.11.2016 12:08:40.648 *DEBUG* [10.230.129.209 [1480525710400] GET /libs/cq/workflow/content/console/instances.json HTTP/1.1] org.apache.jackrabbit.oak.query.QueryImpl cost for traverse is 18532.0

 

 

Thanks!

0 Replies