Skip to content
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

Fix HD leak for EP that run on Map keys #17271

Merged
merged 2 commits into from Jul 28, 2020

Conversation

tkountis
Copy link
Contributor

@tkountis tkountis commented Jul 27, 2020

The client action is constructing a MultipleEntryOperationFactory at all times, instead of using the OperationProvider which constructs a map-relevant instance of that factory, in this case an HDMultipleEntryOperationFactory.
A post-action of the EP operation, does some allocations (irrelevant to the context), which are correctly placed in the deferred-disposal queue (which is executed on all HD operations afterRun). However, since the EntryOperation was not an HD operation the afterRun disposal never took place.

The problem is limited to this client action (executeOnKeys), and its been like that for many years.

Test: https://github.com/hazelcast/hazelcast-enterprise/pull/3692
Fixes: https://github.com/hazelcast/hazelcast-enterprise/issues/3689

3.11.z: #17275
4.0.z: #17274
4.1: #17276

@pveentjer
Copy link
Contributor

Can you add an explanation of the cause of the leak?

@tkountis tkountis merged commit 889126e into hazelcast:3.12.z Jul 28, 2020
@pveentjer
Copy link
Contributor

The design sounds flaky. But good to see that the issue is fixed.

tkountis pushed a commit to tkountis/hazelcast that referenced this pull request Jul 28, 2020
(cherry picked from commit 889126e)
(cherry picked from commit dc6b9ed3ccabfb504ff4f3de742d1a31892d59e2)
tkountis pushed a commit to tkountis/hazelcast that referenced this pull request Jul 28, 2020
tkountis pushed a commit to tkountis/hazelcast that referenced this pull request Jul 28, 2020
tkountis pushed a commit that referenced this pull request Jul 29, 2020
(cherry picked from commit 889126e)
(cherry picked from commit dc6b9ed3ccabfb504ff4f3de742d1a31892d59e2)
tkountis pushed a commit that referenced this pull request Jul 29, 2020
tkountis pushed a commit that referenced this pull request Jul 29, 2020
@mmedenjak
Copy link
Contributor

mmedenjak commented Aug 6, 2020

@tkountis do we need to forward-port this to 4.x?

EDIT: I found it :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants