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]>
----
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---