[ https://issues.apache.org/jira/browse/SLING-8407?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16837309#comment-16837309 ]
Vikas Saurabh commented on SLING-8407: -------------------------------------- bq. register a service implementing this API only when the index is ready "*the* index" - which index would that be. I guess you meant all indexes. To me that sounds a bit of an overkill. bq. The JobManagerImpl would be active only when the index is ready afaiu, it's the {{findJobs}} method that requires a query. Doing it this way means the system won't allow adding jobs as well. I wonder if that's really reasonable (to me add jobs should keep on working... status consoles, dashboards, healthchecks unavailability is probably more tolerable that inability to even add a job. > JobManagerImpl.findJobs should prevent traversal > ------------------------------------------------ > > Key: SLING-8407 > URL: https://issues.apache.org/jira/browse/SLING-8407 > Project: Sling > Issue Type: Improvement > Components: Event > Reporter: Thomas Mueller > Priority: Major > Time Spent: 10m > Remaining Estimate: 0h > > The method > [JobManagerImpl.findJobs|https://github.com/apache/sling-org-apache-sling-event/blob/master/src/main/java/org/apache/sling/event/impl/jobs/JobManagerImpl.java#L373] > runs a JCR query to find all jobs for a topic. > It is possible that such a query is running while the repository isn't > initialized yet, meaning while the index isn't available yet. What is > happening in this case is that the query is traversing all nodes below that > path, triggering a warning that the query doesn't use an index. It is > sometimes happening when a health check is running before the repository is > initialized (ReplicationQueueHealthCheck and DistributionQueueHealthCheck). > It doesn't make sense that the query traverses the nodes. It should use an > index. If the index isn't available yet, it should fail. Therefore, the query > should use "option(traversal fail)". That would result in an exception that > can be caught. I will log a related issue to change the health checks to > process this exception and return HEALTH_CHECK_ERROR for this case. -- This message was sent by Atlassian JIRA (v7.6.3#76005)