Bug 1314649 - disperse: Provide an option to enable/disable eager lock
Summary: disperse: Provide an option to enable/disable eager lock
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: GlusterFS
Classification: Community
Component: disperse
Version: mainline
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Ashish Pandey
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks: 1318965 1320412
TreeView+ depends on / blocked
 
Reported: 2016-03-04 07:31 UTC by Ashish Pandey
Modified: 2016-06-16 13:59 UTC (History)
2 users (show)

Fixed In Version: glusterfs-3.8rc2
Clone Of:
: 1318965 1320412 (view as bug list)
Environment:
Last Closed: 2016-06-16 13:59:22 UTC
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Embargoed:


Attachments (Terms of Use)

Description Ashish Pandey 2016-03-04 07:31:51 UTC
Description of problem:

If a fop takes lock, and completes its operation, it waits for 1 second before 
releasing the lock. However, If ec find any lock contention within this time period, it release the lock immediately before time expires.

As we take lock on first brick, In some operation, like read, it might happen that discovery of lock contention might take long time and can degrades the performance.


Provide an option to enable/disable eager lock 



Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

Comment 1 Vijay Bellur 2016-03-04 08:06:06 UTC
REVIEW: http://review.gluster.org/13605 (cluster/ec: Provide an option to enable/disable eager lock) posted (#1) for review on master by Ashish Pandey (aspandey)

Comment 2 Vijay Bellur 2016-03-11 07:44:55 UTC
REVIEW: http://review.gluster.org/13605 (cluster/ec: Provide an option to enable/disable eager lock) posted (#2) for review on master by Ashish Pandey (aspandey)

Comment 3 Vijay Bellur 2016-03-14 07:13:38 UTC
REVIEW: http://review.gluster.org/13605 (cluster/ec: Provide an option to enable/disable eager lock) posted (#3) for review on master by Ashish Pandey (aspandey)

Comment 4 Vijay Bellur 2016-03-15 05:41:30 UTC
REVIEW: http://review.gluster.org/13605 (cluster/ec: Provide an option to enable/disable eager lock) posted (#4) for review on master by Ashish Pandey (aspandey)

Comment 5 Vijay Bellur 2016-03-16 04:54:35 UTC
COMMIT: http://review.gluster.org/13605 committed in master by Pranith Kumar Karampuri (pkarampu) 
------
commit 23ccabbeb7879fd05f415690124bd7b4a74d4d33
Author: Ashish Pandey <aspandey>
Date:   Fri Mar 4 13:05:09 2016 +0530

    cluster/ec: Provide an option to enable/disable eager lock
    
    Problem: If a fop takes lock, and completes its operation,
    it waits for 1 second before releasing the lock. However,
    If ec find any lock contention within this time period,
    it release the lock immediately before time expires. As we
    take lock on first brick, for few operations, like read, it
    might happen that discovery of lock contention might take
    long time and can degrades the performance.
    
    Solution: Provide an option to enable/disable eager lock.
    If eager lock is disabled, lock will be released as soon
    as fop completes.
    
    gluster v set <VOLUME NAME> disperse.eager-lock on
    gluster v set <VOLUME NAME> disperse.eager-lock off
    
    Change-Id: I000985a787eba3c190fdcd5981dfbf04e64af166
    BUG: 1314649
    Signed-off-by: Ashish Pandey <aspandey>
    Reviewed-on: http://review.gluster.org/13605
    Smoke: Gluster Build System <jenkins.com>
    Reviewed-by: Pranith Kumar Karampuri <pkarampu>
    Tested-by: Pranith Kumar Karampuri <pkarampu>
    CentOS-regression: Gluster Build System <jenkins.com>
    NetBSD-regression: NetBSD Build System <jenkins.org>

Comment 6 Mike McCune 2016-03-28 22:17:27 UTC
This bug was accidentally moved from POST to MODIFIED via an error in automation, please see mmccune with any questions

Comment 7 Vijay Bellur 2016-04-09 02:18:58 UTC
REVIEW: http://review.gluster.org/13929 (extras: Add namespace for options in group-virt.example) posted (#1) for review on master by Vijay Bellur (vbellur)

Comment 8 Vijay Bellur 2016-04-09 04:30:55 UTC
REVIEW: http://review.gluster.org/13929 (extras: Add namespace for options in group-virt.example) posted (#2) for review on master by Vijay Bellur (vbellur)

Comment 9 Vijay Bellur 2016-04-09 04:46:38 UTC
REVIEW: http://review.gluster.org/13929 (extras: Add namespace for options in group-virt.example) posted (#3) for review on master by Vijay Bellur (vbellur)

Comment 10 Vijay Bellur 2016-04-09 05:18:19 UTC
REVIEW: http://review.gluster.org/13929 (extras: Add namespace for options in group-virt.example) posted (#4) for review on master by Vijay Bellur (vbellur)

Comment 11 Vijay Bellur 2016-04-09 19:01:07 UTC
COMMIT: http://review.gluster.org/13929 committed in master by Pranith Kumar Karampuri (pkarampu) 
------
commit 09c9da3b12da73dd718522fdf7587d3be5a14137
Author: Vijay Bellur <vbellur>
Date:   Fri Apr 8 21:59:53 2016 -0400

    extras: Add namespace for options in group-virt.example
    
    Commit 23ccabbeb7 introduced a new key "disperse.eager-lock" which
    causes a conflict with key "cluster.eager-lock" when option is used
    without the qualifying namespace. group-virt.example which gets
    installed as /var/lib/glusterd/ groups/virt contains options without
    namespace qualifiers. This patch adds the appropriate namespace to all
    options in group-virt.example.
    
    Change-Id: I2c09dd10d44138410d889ddeb805f01c641c6780
    BUG: 1314649
    Signed-off-by: Vijay Bellur <vbellur>
    Reviewed-on: http://review.gluster.org/13929
    Smoke: Gluster Build System <jenkins.com>
    NetBSD-regression: NetBSD Build System <jenkins.org>
    CentOS-regression: Gluster Build System <jenkins.com>
    Reviewed-by: Pranith Kumar Karampuri <pkarampu>

Comment 12 Vijay Bellur 2016-04-14 11:11:01 UTC
REVIEW: http://review.gluster.org/13999 (cluster/ec: Add/Modify description for eager-lock option) posted (#1) for review on master by Ashish Pandey (aspandey)

Comment 13 Niels de Vos 2016-06-16 13:59:22 UTC
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.8.0, please open a new bug report.

glusterfs-3.8.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://blog.gluster.org/2016/06/glusterfs-3-8-released/
[2] http://thread.gmane.org/gmane.comp.file-systems.gluster.user


Note You need to log in before you can comment on or make changes to this bug.