Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
Description
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.
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)
Attachments
Attachments
Issue Links
- is related to
-
SLING-5018 JobManager.findJobs throws exception when job gets removed while querying.
- Resolved
- relates to
-
SLING-4074 Iterating over JCR resources might throw IllegalStateException
- Closed