-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Client and server memory leaks while destroying FencedLocks [HZ-3039] #25344
Comments
From code we only tidy
Doesn't look like If the current semantics of not permitting the same object to be reused post-destruction are to be preserved and we don't want the removal from As a sketch:
|
Internal Jira issue: HZ-3039 |
…3039] (hazelcast#25353) Removes the `FencedLockProxy` from `LockService.proxies` _after_ calling legacy semantics of `AbstractBlockingService#destroyRaftObject`. Previously the `FencedLockProxy` would be resident in `LockService.proxies` until the CP system was reset. Fixes hazelcast#25344 (cherry picked from commit e301940)
…3039] [5.3.z] (#25421) Removes the `FencedLockProxy` from `LockService.proxies` _after_ calling legacy semantics of `AbstractBlockingService#destroyRaftObject`. Previously the `FencedLockProxy` would be resident in `LockService.proxies` until the CP system was reset. Fixes #25344 Backport of: #25353
The local
FencedLock
proxy object is not removed fromLockService#proxies
map while theLock#destroy()
calledSteps to reproduce:
The
LockService#proxies
map contains 100 FencedLockProxy objects:This behaviour causes memory leaks.
The same behaviour is also on the client side: the
ClientRaftProxyFactory#lockProxies
tracks all createdFencedLockProxy
and not remove from the map.The same client-side
_lock_proxies
map can be found in the Python client https://github.com/hazelcast/hazelcast-python-client/blob/master/hazelcast/cp.py#L198The text was updated successfully, but these errors were encountered: