You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@geode.apache.org by galen-pivotal <gi...@git.apache.org> on 2017/07/28 01:54:11 UTC

[GitHub] geode pull request #663: GEODE-3314: Fix DLockService token leak.

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 <bs...@pivotal.io>
    
    @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 dev@geode.apache.org.


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 <go...@pivotal.io>
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 <bs...@pivotal.io>

----


---
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 infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] geode issue #663: GEODE-3314: Fix DLockService token leak.

Posted by pivotal-amurmann <gi...@git.apache.org>.
Github user pivotal-amurmann commented on the issue:

    https://github.com/apache/geode/pull/663
  
    I am sure it would be hard, but could we please write a unit test for the change that was made to `DLockService#unlock`?


---
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 infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] geode issue #663: GEODE-3314: Fix DLockService token leak.

Posted by galen-pivotal <gi...@git.apache.org>.
Github user galen-pivotal commented on the issue:

    https://github.com/apache/geode/pull/663
  
    We probably can write a unit test. In particular, it would be nice if we could test this bug without starting a whole `Cache`.


---
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 infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] geode pull request #663: GEODE-3314: Fix DLockService token leak.

Posted by asfgit <gi...@git.apache.org>.
Github user asfgit closed the pull request at:

    https://github.com/apache/geode/pull/663


---
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 infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] geode issue #663: GEODE-3314: Fix DLockService token leak.

Posted by galen-pivotal <gi...@git.apache.org>.
Github user galen-pivotal commented on the issue:

    https://github.com/apache/geode/pull/663
  
    @pivotal-amurmann I'd like to write a unit test. @hiteshk25 and I took a stab at it this afternoon but after an hour or two, got lost in mocks and the tangle of DistributedSystem/DistributedMember/DistributionManager/Elder/RequestProcessor . I would love to do some refactoring to make this logic more testable, but I'd also like to see this fix get into master.


---
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 infrastructure@apache.org or file a JIRA ticket
with INFRA.
---