InvalidItemStateException occurs when add one node to repository and get his
current uuid by DavEx in clustered mode
---------------------------------------------------------------------------------------------------------------------
Key: JCR-3079
URL: https://issues.apache.org/jira/browse/JCR-3079
Project: Jackrabbit Content Repository
Issue Type: Bug
Components: clustering, jackrabbit-jcr-server, jackrabbit-jcr2spi
Affects Versions: 2.2.8
Environment: CentOS x64
Reporter: Jose Mendoza
Priority: Minor
When add new node to repository via DavEx in clustered environment and try to
retrieve his uuid, InvalidItemStateException is thrown.
This is because each http request from a client DavExt could be answered by
any node in the cluster(thinking in one load balancer plus clustered nodes) and
if this node are not up to date, exception is thrown.
I extended the SessionProviderImpl from org.apache.jackrabbit.server, and
override the method getSession so that in each getSession call, I do a
session.refresh() before of return the session. It works fine.
I wonder if in future releases of JR DavEx would be good idea to have a
configuration parameter to enforce the synchronization between cluster nodes,
or if Session.refresh() from jcr2spi layer would support synchronization
between cluster nodes as Session.refresh() in core api does.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira