Uploaded image for project: 'Jackrabbit Content Repository'
  1. Jackrabbit Content Repository
  2. JCR-3079

InvalidItemStateException occurs when add one node to repository and get his current uuid by DavEx in clustered mode

    XMLWordPrintableJSON

    Details

      Description

      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.

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              mmjose26 Jose Mendoza
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated: