Uploaded image for project: 'Spring Integration'
  1. Spring Integration
  2. INT-4248

RedisLockRegistry does not release lock after TTL expiry

    XMLWordPrintable

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Complete
    • 4.3.8
    • 5.0 M4, 4.3.10
    • Redis Support
    • Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
      Linux 4.8.0-42-generic #45-Ubuntu SMP Wed Mar 8 20:06:06 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
      Redis server v=3.2.1 sha=00000000:0 malloc=jemalloc-3.6.0 bits=64 build=8ab9de078b62748e

    Description

      RedisLockRegistry will not release lock after the configured TTL of Redis persisted lock expires. This results in multiple registry instances being able to obtain the lock, and subsequently multiple LockRegistryLeaderInitiator instances ending up being leaders.

      After the lock persisted in Redis expires, the RedisLockRegistry is in no way aware of this event and still keeps the existing thread reference making it think it holds the lock.

      The minimal sample project to demonstrate the issue, together with detailed description, is linked in the ticket's reference URL.

      This perhaps seems like a higher impact level than major.

      Attachments

        Activity

          People

            abilan Artem Bilan
            vpavic Vedran Pavic
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: