Marius Petria created SLING-4853:
------------------------------------

             Summary: JobManager.findJobs should skip items that have been 
removed during the call
                 Key: SLING-4853
                 URL: https://issues.apache.org/jira/browse/SLING-4853
             Project: Sling
          Issue Type: Bug
          Components: Extensions
            Reporter: Marius Petria


Sometimes under high load the iteration over job nodes can fail [1] because the 
nodes could be already processed and removed. We could by more fault tolerant 
when reading a resource and just skip it in case of failure.

{noformat}
Caused by: java.lang.IllegalStateException: Failed to retrieve path from Item:
at 
org.apache.sling.jcr.resource.internal.helper.jcr.JcrItemResource.getPath(JcrItemResource.java:82)
at 
org.apache.sling.event.impl.jobs.JobManagerImpl.findJobs(JobManagerImpl.java:659)
at 
com.day.cq.replication.impl.queue.ReplicationQueueImpl.entries(ReplicationQueueImpl.java:144)
Caused by: javax.jcr.InvalidItemStateException: This item does not exist anymore
at 
org.apache.jackrabbit.oak.jcr.delegate.ItemDelegate.checkAlive(ItemDelegate.java:85)
at 
org.apache.jackrabbit.oak.jcr.session.operation.ItemOperation.checkPreconditions(ItemOperation.java:34)
at 
org.apache.jackrabbit.oak.jcr.delegate.SessionDelegate.perform(SessionDelegate.java:289)
at org.apache.jackrabbit.oak.jcr.session.ItemImpl.perform(ItemImpl.java:113)
at org.apache.jackrabbit.oak.jcr.session.ItemImpl.getPath(ItemImpl.java:153)
{noformat}

[1] 
https://github.com/apache/sling/blob/29420e3482d610c1dd9741276388670474026bf6/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/JobManagerImpl.java#L662



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to