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

RedisLock.obtainLock() doesn't provide desired distributed lock guarantee

    XMLWordPrintable

Details

    Description

      Looks like WATCH doesn't provide good isolation when the call is performed concurrently at the same time from different Threads.
      Or we don't use it correctly...

      I can simply reproduce it with the @Repeat(10) for the failed test AggregatorWithRedisLocksTests.testDistributedAggregator().

      Reconsider locking algorithm as it is recommended by Redis SET command: http://redis.io/commands/set

      Attachments

        Activity

          People

            abilan Artem Bilan
            abilan Artem Bilan
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: