We are experiencing unexplained corruption in our Sling repository. This takes
the form of
11:18:00.203 ERROR [Apache Sling JCR Resource Event Queue Processor]
<o.a.s.j.r.i.h.jcr.JcrNodeResource> Unable to get resource type for node node
8dfdf81a-8db6-4c6e-be54-43f5ee2220b2
javax.jcr.InvalidItemStateException: Item does not exist anymore:
8dfdf81a-8db6-4c6e-be54-43f5ee2220b2
at
org.apache.jackrabbit.core.ItemImpl.itemSanityCheck(ItemImpl.java:116)
I'm attempting to track down what I might be doing wrong that could cause this
to happen. I was a little scared when I read the docs for ResourceResolver and
I found that it is not thread safe. However, after logging out the instances I
get from ResourceResolverFactory.getAdministrativeResourceResolver() it seems
that I am getting unique instances each time. As all of these tasks and jobs
run on separate threads it would be a big problem if I inadvertently reused a
ResourceResolver. Is this something I need to worry about?
Also, is it safe/proper to call ResourceResolver.commit() multiple times, or
should I do this once?
Thanks!