Hi,
I'm running Jackrabbit 2.8.0 and using the Jackrabbit OCM 1.5.3 to read and
write from my JCR. During a load test with read and write operations I
detected different failures:
org.apache.cxf.interceptor.Fault: Cannot retrieve properties of object
....... nested exception is javax.jcr.InvalidItemStateException: Item does
not exist anymore: 8a0518d5-9375-4a5e-a44b-934bf2719501
and
org.apache.jackrabbit.core.query.lucene.NodeIteratorImpl - Failed to
retrieve query result node 8a0518d5-9375-4a5e-a44b-934bf2719501
javax.jcr.ItemNotFoundException: 8a0518d5-9375-4a5e-a44b-934bf2719501
For me it seems like that the update of the content is not a atomar
operation and the parent node is pointing to an old version of the child
node? Did I have to use special JCR annotations to tread an update of an
node and his child node in one operation?
Is A and B are persisted as one node? Is the resource member of B a
seperated node and maybe a problem?
public class A extends B @Node(jcrType = JcrConstants.NT_UNSTRUCTURED,
extend = B.class)
public class B @Node(jcrType = JcrConstants.NT_FILE,
jcrMixinTypes=JcrConstants.MIX_LOCKABLE)
{
/**
* The reference to the resource
*/
@Bean(jcrName = JcrConstants.JCR_CONTENT)
Resource resource;
}
@Node(jcrType = JcrConstants.NT_RESOURCE, discriminator= false)
public class Resource
Best regards,
Michael