Skip to content

Redis Lock is only aquired after configured lock timeout although lock is not held by any other instance #3716

@muellerml

Description

@muellerml

In what version(s) of Spring Integration are you seeing this issue?

Since 5.5.8 (could also be existing in version 5.5.7)

Describe the bug

Since the upgrade to Spring Boot 2.6.3 (which includes Spring Integration 5.5.8), we see some unexpected behaviour during our internal integration tests.
We have deployed two instances of our service and retrieve in them locks for short duration. Since the upgrade we notice that we sometimes run in a condition where the lock is already released from the first instance but the second instance fails to acquire it immediately and waits for the lock to timeout before actually acquiring it, although no other instance is holding the lock now.
From our internal logging it seems like the release of the lock and the attempt to acquire the lock happens nearly at the same time, but we are not really able to verify that exactly.

To Reproduce

No consistent workflow to reproduce the bug available.

Expected behavior

Locks are aquired by the second instance immediately.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions