Uploaded image for project: '[Read Only] - Hippo Repository'
  1. [Read Only] - Hippo Repository
  2. REPO-491

Backport - Jcr quartz integration allows jobs to be run concurrently on different cluster nodes

    XMLWordPrintable

Details

    • Bug
    • Status: Closed
    • Top
    • Resolution: Fixed
    • 2.22.09
    • 2.22.10
    • None
    • None

    Description

      JcrJobStore#aquireNextTrigger tries to prevent concurrency by testing for the existence of a property. But the following test fails on our current JR version:

      @Test
      public void multiSessionConflictIsNotResolved() throws Exception

      { final Node test = session.getRootNode().addNode("test"); test.setProperty("aap", "noot"); session.save(); session.refresh(false); session.getNode("/test").getProperty("aap").remove(); Session other = session.impersonate(new SimpleCredentials(null, "".toCharArray())); other.getNode("/test").getProperty("aap").remove(); other.save(); session.save(); fail("Session save should have failed"); }

      Non conflicting changes from other sessions are merged. The behavior used to be that an exception was thrown, which resulted in only one cluster node executing a particular job.
      We need to use JCR locking instead.

      Attachments

        Issue Links

          Activity

            People

              svoortman Simon Voortman (Inactive)
              uhommes Unico Hommes (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: