[
https://issues.apache.org/jira/browse/GEODE-3314?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16104307#comment-16104307
]
ASF GitHub Bot commented on GEODE-3314:
---------------------------------------
GitHub user galen-pivotal opened a pull request:
https://github.com/apache/geode/pull/663
GEODE-3314: Fix DLockService token leak.
And add a test so that we don't do that again.
We had been unlocking the DLock on the remote server before freeing the
local `DLockToken`. This meant that the local token got reused by
another thread acquiring the same lock and the count went up and up and
up (due to some logic that wouldn't decrease the count if it no longer
owned the token).
Tokens should no longer have usageCounts that climb over time, which
means they should be released normally by freeResources.
Signed-off-by: Bruce Schuchardt <[email protected]>
@bschuchardt @kohlmu-pivotal @hiteshk25 @WireBaron @pivotal-amurmann
Thank you for submitting a contribution to Apache Geode.
In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:
### For all changes:
- [x] Is there a JIRA ticket associated with this PR? Is it referenced in
the commit message?
- [x] Has your PR been rebased against the latest commit within the target
branch (typically `develop`)?
- [x] Is your initial contribution a single, squashed commit?
- [x] Does `gradlew build` run cleanly?
- [x] Have you written or updated unit tests to verify your changes?
- [ ] If adding new dependencies to the code, are these dependencies
licensed in a way that is compatible for inclusion under [ASF
2.0](http://www.apache.org/legal/resolved.html#category-a)?
### Note:
Please ensure that once the PR is submitted, you check travis-ci for build
issues and
submit an update to your PR as soon as possible. If you need help, please
send an
email to [email protected].
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/galen-pivotal/geode feature/GEODE-3314
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/geode/pull/663.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #663
----
commit 1746de0186a1b64281ba1ec649a5a3e88c7c4245
Author: Galen O'Sullivan <[email protected]>
Date: 2017-07-27T23:35:04Z
GEODE-3314: Fix DLockService token leak.
And add a test so that we don't do that again.
We had been unlocking the DLock on the remote server before freeing the
local `DLockToken`. This meant that the local token got reused by
another thread acquiring the same lock and the count went up and up and
up (due to some logic that wouldn't decrease the count if it no longer
owned the token).
Tokens should no longer have usageCounts that climb over time, which
means they should be released normally by freeResources.
Signed-off-by: Bruce Schuchardt <[email protected]>
----
> OldGen heap usage grows without increase in data size, large number of
> DLockTokens
> ----------------------------------------------------------------------------------
>
> Key: GEODE-3314
> URL: https://issues.apache.org/jira/browse/GEODE-3314
> Project: Geode
> Issue Type: Bug
> Components: distributed lock service
> Reporter: Udo Kohlmeyer
> Assignee: Udo Kohlmeyer
>
> When using Global Replicate regions, the DLockTokens are not correctly
> cleaned up, causing a memory leak.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)