Uploaded image for project: 'Apache Curator'
  1. Apache Curator
  2. CURATOR-462

InterProcessSemaphoreV2 leaves orphaned lease node if acquiring the semaphore is interrupted at the wrong time

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.11.0, 3.2.0, 3.2.1, 2.11.1, 3.3.0, 2.12.0, 4.0.0, 4.0.1
    • 4.1.0
    • Recipes
    • None

    Description

      Since CURATOR-315, lease nodes created in org.apache.curator.framework.recipes.locks.InterProcessSemaphoreV2.internalAcquire1Lease(Builder<Lease>, long, boolean, long) are not returned if the wait for them to become active is interrupted. This is because the lease node is now only added to the builder at the end of the method, so the caller doesn't know about this node and cannot close it when catching an exception.

      We have already fixed this locally in our own dependent library so I'll make a PR with our fix and a test soon. We are still on the 2.x branch so we'd like if this fix could be in 2.13.0.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              krajcsovszkig_ms Gergely Krajcsovszki
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: