Build: #37 was successful Changes by Mael Le Guével <mael.leguevel@orange.com>

Build result summary

Details

Completed
Duration
9 minutes
Labels
None
Agent
bamboo-22.af.pivotal.io
Revision
b568662cdbd78f6cda084995a2cf0fd7478971ff b568662cdbd78f6cda084995a2cf0fd7478971ff
Total tests
108
Successful since
#31 ()

Tests

Code commits

Author Commit Message Commit date
Mael Le Guével <mael.leguevel@orange.com> Mael Le Guével <mael.leguevel@orange.com> b568662cdbd78f6cda084995a2cf0fd7478971ff b568662cdbd78f6cda084995a2cf0fd7478971ff GH-235: Fix a memory leak in HZ LeaderInitiator
Fixes https://github.com/spring-projects/spring-integration-extensions/issues/235

According to the hazelcast team:
"The logic assumes that locks are generally acquired
& released in a fairly short time or hold a very long time without unlocking.
But in this case, is a bit different, it holds the lock for a long time,
but also does lock/unlock very frequently".

The previous implementation used the described logic,
first acquiring a lock and then doing frequent `tryLock/unlock`.
Doing this leads to
`com.hazelcast.cp.internal.datastructures.lockLock#ownerInvocationRefUids`
to grow without ever being cleaned thus leading to an `OutOfMemoryError` eventually.

* Rely on the `FencedLock.isLocked()` instead of frequent `tryLock/unlock`
* Fix `LeaderInitiatorTests` not to spawn 3 CP members since an unsafe mode is
enough to test the feature

Jira issues

IssueDescriptionStatus
Unknown Issue TypeGH-235Could not obtain issue details from Jira