Bug 1350867
Summary: | RFE: FEATURE: Lock revocation for features/locks xlator | ||
---|---|---|---|
Product: | [Community] GlusterFS | Reporter: | Pranith Kumar K <pkarampu> |
Component: | locks | Assignee: | bugs <bugs> |
Status: | CLOSED CURRENTRELEASE | QA Contact: | |
Severity: | high | Docs Contact: | |
Priority: | high | ||
Version: | mainline | CC: | bugs, rgowdapp, rwareing |
Target Milestone: | --- | Keywords: | FutureFeature, Triaged |
Target Release: | --- | ||
Hardware: | All | ||
OS: | All | ||
Whiteboard: | |||
Fixed In Version: | glusterfs-3.9.0 | Doc Type: | Enhancement |
Doc Text: | Story Points: | --- | |
Clone Of: | 1301401 | Environment: | |
Last Closed: | 2017-03-27 18:28:06 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Bug Depends On: | 1301401 | ||
Bug Blocks: |
Description
Pranith Kumar K
2016-06-28 14:31:43 UTC
REVIEW: http://review.gluster.org/14816 (features/locks: Add lock revocation functionality to posix locks translator) posted (#2) for review on master by Pranith Kumar Karampuri (pkarampu) REVIEW: http://review.gluster.org/14817 (Revert "tests: remove tests for clear-locks") posted (#2) for review on master by Pranith Kumar Karampuri (pkarampu) REVIEW: http://review.gluster.org/14816 (features/locks: Add lock revocation functionality to posix locks translator) posted (#3) for review on master by Pranith Kumar Karampuri (pkarampu) REVIEW: http://review.gluster.org/14817 (Revert "tests: remove tests for clear-locks") posted (#3) for review on master by Pranith Kumar Karampuri (pkarampu) REVIEW: http://review.gluster.org/14816 (features/locks: Add lock revocation functionality to posix locks translator) posted (#4) for review on master by Pranith Kumar Karampuri (pkarampu) REVIEW: http://review.gluster.org/14817 (Revert "tests: remove tests for clear-locks") posted (#4) for review on master by Pranith Kumar Karampuri (pkarampu) REVIEW: http://review.gluster.org/14816 (features/locks: Add lock revocation functionality to posix locks translator) posted (#5) for review on master by Pranith Kumar Karampuri (pkarampu) REVIEW: http://review.gluster.org/14817 (Revert "tests: remove tests for clear-locks") posted (#5) for review on master by Pranith Kumar Karampuri (pkarampu) REVIEW: http://review.gluster.org/14816 (features/locks: Add lock revocation functionality to posix locks translator) posted (#6) for review on master by Pranith Kumar Karampuri (pkarampu) COMMIT: http://review.gluster.org/14816 committed in master by Pranith Kumar Karampuri (pkarampu) ------ commit 8cbee639520bf4631ce658e2da9b4bc3010d2eaa Author: Richard Wareing <rwareing> Date: Fri Nov 20 10:59:00 2015 -0800 features/locks: Add lock revocation functionality to posix locks translator Summary: - Motivation: Prevents cluster instability by mis-behaving clients causing bricks to OOM due to inode/entry lock pile-ups. - Adds option to strip clients of entry/inode locks after N seconds - Adds option to clear ALL locks should the revocation threshold get hit - Adds option to clear all or granted locks should the max-blocked threshold get hit (can be used in combination w/ revocation-clear-all). - Options are: features.locks-revocation-secs <integer; 0 to disable> features.locks-revocation-clear-all [on/off] features.locks-revocation-max-blocked <integer> - Adds monkey-locking option to ignore 1% of unlock requests (dev only) features.locks-monkey-unlocking [on/off] - Adds logging to indicate revocation event & reason Test Plan: First you will need TWO fuse mounts for this repro. Call them /mnt/patchy1 & /mnt/patchy2. 1. Enable monkey unlocking on the volume: gluster vol set patchy features.locks-monkey-unlocking on 2. From the "patchy1", use DD or some other utility to begin writing to a file, eventually the dd will hang due to the dropped unlocked requests. This now simulates the broken client. Run: for i in {1..1000};do dd if=/dev/zero of=/mnt/patchy1/testfile bs=1k count=10;done' ...this will eventually hang as the unlock request has been lost. 3. Goto another window and setup the mount "patchy2" @ /mnt/patchy2, and observe that 'echo "hello" >> /mnt/patchy2/testfile" will hang due to the inability of the client to take out the required lock. 4. Next, re-start the test this time enabling lock revocation; use a timeout of 2-5 seconds for testing: 'gluster vol set patchy features.locks-revocation-secs <2-5>' 5. Wait 2-5 seconds before executing step 3 above this time. Observe that this time the access to the file will succeed, and the writes on patchy1 will unblock until they hit another failed unlock request due to "monkey-unlocking". BUG: 1350867 Change-Id: I814b9f635fec53834a26db634d1300d9a61057d8 Signed-off-by: Pranith Kumar K <pkarampu> Reviewed-on: http://review.gluster.org/14816 NetBSD-regression: NetBSD Build System <jenkins.org> Reviewed-by: Krutika Dhananjay <kdhananj> CentOS-regression: Gluster Build System <jenkins.org> Smoke: Gluster Build System <jenkins.org> COMMIT: http://review.gluster.org/14817 committed in master by Jeff Darcy (jdarcy) ------ commit beeaa074611433d6c650823624569f90025160d3 Author: Pranith Kumar K <pkarampu> Date: Mon Jun 27 14:56:04 2016 +0530 Revert "tests: remove tests for clear-locks" This reverts commit 0086a55bb7de1ef5dc7a24583f5fc2b560e835fd. As part of Richard's patch for lock-revocation feature this bug is completely fixed (I think at least ;-) ). So bringing these back so that we will find out if there are anymore things we need to address in this code path. BUG: 1350867 Change-Id: If1440fc83b376576ae1a77b1156188a6bf53fe3a Signed-off-by: Pranith Kumar K <pkarampu> Reviewed-on: http://review.gluster.org/14817 NetBSD-regression: NetBSD Build System <jenkins.org> CentOS-regression: Gluster Build System <jenkins.org> Smoke: Gluster Build System <jenkins.org> Reviewed-by: Jeff Darcy <jdarcy> REVIEW: http://review.gluster.org/16086 (features/locks: Add lock revocation functionality to posix locks translator) posted (#1) for review on release-3.8-fb by Shreyas Siravara (sshreyas) REVIEW: http://review.gluster.org/16086 (features/locks: Add lock revocation functionality to posix locks translator) posted (#2) for review on release-3.8-fb by Shreyas Siravara (sshreyas) This bug is getting closed because a release has been made available that should address the reported issue. In case the problem is still not fixed with glusterfs-3.9.0, please open a new bug report. glusterfs-3.9.0 has been announced on the Gluster mailinglists [1], packages for several distributions should become available in the near future. Keep an eye on the Gluster Users mailinglist [2] and the update infrastructure for your distribution. [1] http://lists.gluster.org/pipermail/gluster-users/2016-November/029281.html [2] https://www.gluster.org/pipermail/gluster-users/ |