Bug 1011470 - RFE: Replace cluster-wide locks with volume locks
Summary: RFE: Replace cluster-wide locks with volume locks
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: GlusterFS
Classification: Community
Component: glusterd
Version: mainline
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: ---
Assignee: Avra Sengupta
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-09-24 11:15 UTC by Avra Sengupta
Modified: 2014-11-11 08:24 UTC (History)
4 users (show)

Fixed In Version: glusterfs-3.6.0beta1
Doc Type: Enhancement
Doc Text:
Clone Of:
Environment:
Last Closed: 2014-11-11 08:24:14 UTC
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Embargoed:


Attachments (Terms of Use)

Description Avra Sengupta 2013-09-24 11:15:29 UTC
Description of problem:
Replacing the existing cluster-wide lock taken on glusterds across the cluster, with volume locks which are volume specific. So with the volume locks we are able to perform more than one gluster operation at the same time, as long as the operations are being performed on different volumes.

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


How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

Comment 1 Anand Avati 2013-09-24 16:20:51 UTC
REVIEW: http://review.gluster.org/5994 (glusterd: Volume locks and transaction specific opinfos) posted (#1) for review on master by Avra Sengupta (asengupt)

Comment 2 Anand Avati 2013-09-25 15:29:19 UTC
REVIEW: http://review.gluster.org/5994 (glusterd: Volume locks and transaction specific opinfos) posted (#2) for review on master by Avra Sengupta (asengupt)

Comment 3 Anand Avati 2013-09-26 10:28:45 UTC
REVIEW: http://review.gluster.org/5994 (glusterd: Volume locks and transaction specific opinfos) posted (#3) for review on master by Avra Sengupta (asengupt)

Comment 4 Anand Avati 2013-09-27 12:16:52 UTC
REVIEW: http://review.gluster.org/5994 (glusterd: Volume locks and transaction specific opinfos) posted (#4) for review on master by Avra Sengupta (asengupt)

Comment 5 Anand Avati 2013-09-27 19:09:48 UTC
REVIEW: http://review.gluster.org/5994 (glusterd: Volume locks and transaction specific opinfos) posted (#5) for review on master by Avra Sengupta (asengupt)

Comment 6 Anand Avati 2013-09-30 19:39:51 UTC
REVIEW: http://review.gluster.org/5994 (glusterd: Volume locks and transaction specific opinfos) posted (#6) for review on master by Avra Sengupta (asengupt)

Comment 7 Anand Avati 2013-10-07 10:54:33 UTC
REVIEW: http://review.gluster.org/5994 (glusterd: Volume locks and transaction specific opinfos) posted (#7) for review on master by Avra Sengupta (asengupt)

Comment 8 Anand Avati 2013-10-08 15:10:08 UTC
REVIEW: http://review.gluster.org/5994 (glusterd: Volume locks and transaction specific opinfos) posted (#8) for review on master by Avra Sengupta (asengupt)

Comment 9 Anand Avati 2013-10-23 11:25:13 UTC
REVIEW: http://review.gluster.org/5994 (glusterd: Volume locks and transaction specific opinfos) posted (#9) for review on master by Avra Sengupta (asengupt)

Comment 10 Anand Avati 2013-12-02 11:45:29 UTC
REVIEW: http://review.gluster.org/5994 (glusterd: Volume locks and transaction specific opinfos) posted (#10) for review on master by Avra Sengupta (asengupt)

Comment 11 Anand Avati 2013-12-23 06:55:27 UTC
REVIEW: http://review.gluster.org/5994 (glusterd: Volume locks and transaction specific opinfos) posted (#11) for review on master by Avra Sengupta (asengupt)

Comment 12 Anand Avati 2014-01-21 09:30:50 UTC
REVIEW: http://review.gluster.org/5994 (glusterd: Volume locks and transaction specific opinfos) posted (#12) for review on master by Avra Sengupta (asengupt)

Comment 13 Anand Avati 2014-01-22 14:15:07 UTC
REVIEW: http://review.gluster.org/5994 (glusterd: Volume locks and transaction specific opinfos) posted (#13) for review on master by Avra Sengupta (asengupt)

Comment 14 Anand Avati 2014-01-22 14:17:02 UTC
REVIEW: http://review.gluster.org/5994 (glusterd: Volume locks and transaction specific opinfos) posted (#14) for review on master by Avra Sengupta (asengupt)

Comment 15 Anand Avati 2014-01-29 19:13:00 UTC
REVIEW: http://review.gluster.org/5994 (glusterd: Volume locks and transaction specific opinfos) posted (#15) for review on master by Avra Sengupta (asengupt)

Comment 16 Anand Avati 2014-01-31 14:19:45 UTC
REVIEW: http://review.gluster.org/5994 (glusterd: Volume locks and transaction specific opinfos) posted (#16) for review on master by Avra Sengupta (asengupt)

Comment 17 Anand Avati 2014-01-31 14:29:02 UTC
REVIEW: http://review.gluster.org/5994 (glusterd: Volume locks and transaction specific opinfos) posted (#17) for review on master by Avra Sengupta (asengupt)

Comment 18 Anand Avati 2014-02-04 12:44:05 UTC
REVIEW: http://review.gluster.org/5994 (glusterd: Volume locks and transaction specific opinfos) posted (#18) for review on master by Avra Sengupta (asengupt)

Comment 19 Anand Avati 2014-02-06 07:41:36 UTC
REVIEW: http://review.gluster.org/5994 (glusterd: Volume locks and transaction specific opinfos) posted (#19) for review on master by Avra Sengupta (asengupt)

Comment 20 Anand Avati 2014-02-07 07:34:35 UTC
REVIEW: http://review.gluster.org/5994 (glusterd: Volume locks and transaction specific opinfos) posted (#20) for review on master by Avra Sengupta (asengupt)

Comment 21 Anand Avati 2014-02-07 09:16:51 UTC
REVIEW: http://review.gluster.org/5994 (glusterd: Volume locks and transaction specific opinfos) posted (#21) for review on master by Avra Sengupta (asengupt)

Comment 22 Anand Avati 2014-02-10 07:13:07 UTC
REVIEW: http://review.gluster.org/5994 (glusterd: Volume locks and transaction specific opinfos) posted (#22) for review on master by Avra Sengupta (asengupt)

Comment 23 Anand Avati 2014-02-10 13:36:38 UTC
REVIEW: http://review.gluster.org/5994 (glusterd: Volume locks and transaction specific opinfos) posted (#23) for review on master by Avra Sengupta (asengupt)

Comment 24 Anand Avati 2014-02-11 07:25:51 UTC
COMMIT: http://review.gluster.org/5994 committed in master by Vijay Bellur (vbellur) 
------
commit 97ce783de326b51fcba65737f07db2c314d1e218
Author: Avra Sengupta <asengupt>
Date:   Thu Feb 6 13:03:58 2014 +0530

    glusterd: Volume locks and transaction specific opinfos
    
    With this patch we are replacing the existing cluster-wide
    lock taken on glusterds across the cluster, with volume locks
    which are also taken on glusterds across the cluster, but are
    volume specific. So with the volume locks we are able to perform
    more than one gluster operation at the same time, as long as the
    operations are being performed on different volumes.
    
    We maintain a global list of volume-locks (using a dict for a list)
    where the key is the volume name, and which saves the uuid of the
    originator glusterd. These locks are held and released per volume
    transaction.
    
    In order to acheive multiple gluster operations occuring at the
    same time, we also separate opinfos in the op-state-machine, as a
    part of this patch. To do so, we generate a unique transaction-id
    (uuid) per gluster transaction. An opinfo is then associated with
    this transaction id, which is used throughout the transaction. We
    maintain a run-time global list(using a dict) of transaction-ids,
    and their respective opinfos to achieve this.
    
    Upstream Feature Page: http://www.gluster.org/community/documentation/index.php/Features/glusterd-volume-locks
    
    Change-Id: Iaad505a854bac8de8f83beec0357eb6cde3f7ea8
    BUG: 1011470
    Signed-off-by: Avra Sengupta <asengupt>
    Reviewed-on: http://review.gluster.org/5994
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Vijay Bellur <vbellur>

Comment 25 Anand Avati 2014-02-11 14:08:15 UTC
REVIEW: http://review.gluster.org/6976 (glusterd/Vol-Locks : Moving globals into glusterd priv and code refactoring) posted (#1) for review on master by Avra Sengupta (asengupt)

Comment 26 Anand Avati 2014-02-13 15:37:41 UTC
REVIEW: http://review.gluster.org/6976 (glusterd/Vol-Locks : Moving globals into glusterd priv and code refactoring) posted (#2) for review on master by Avra Sengupta (asengupt)

Comment 27 Anand Avati 2014-02-14 15:05:42 UTC
COMMIT: http://review.gluster.org/6976 committed in master by Vijay Bellur (vbellur) 
------
commit 53779e4458c17a3978675585e8099c97c8c2b3a2
Author: Avra Sengupta <asengupt>
Date:   Tue Feb 11 02:22:32 2014 +0000

    glusterd/Vol-Locks : Moving globals into glusterd priv and code refactoring
    
    Moved globals(vol_lock and txn_opinfo dicts and global_txn_id) into
    glusterd priv
    
    Moved glusterd_op_send_cli_response() out of gd_unlock_op_phase
    as gd_unlock_op_phase and glusterd_clear_txn_opinfo should only
    be called if the txn id has been successfully generated. The
    cli resp should be sent irrespective of that.
    
    Changed log levels from ERROR to WARNING for some volume lock logs
    where the logs are expected and is not an error
    
    Added logs for better transparency of transaction ids.
    
    Change-Id: Ifac9b23aa9f1648c9ae252cfd3ac50bb2ed46728
    BUG: 1011470
    Signed-off-by: Avra Sengupta <asengupt>
    Reviewed-on: http://review.gluster.org/6976
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Vijay Bellur <vbellur>

Comment 28 Anand Avati 2014-02-18 13:19:49 UTC
REVIEW: http://review.gluster.org/7032 (glusterd: Volume locks and transaction specific opinfos) posted (#1) for review on master by Rajesh Joseph (rjoseph)

Comment 29 SATHEESARAN 2014-04-10 10:36:20 UTC
Avra,

Do you have any specific test case(s) for the same ?

Comment 30 Avra Sengupta 2014-04-10 11:37:52 UTC
tests/basic/volume-locks.t addresses it

Comment 31 Niels de Vos 2014-09-22 12:32:22 UTC
A beta release for GlusterFS 3.6.0 has been released. Please verify if the release solves this bug report for you. In case the glusterfs-3.6.0beta1 release does not have a resolution for this issue, leave a comment in this bug and move the status to ASSIGNED. If this release fixes the problem for you, leave a note and change the status to VERIFIED.

Packages for several distributions should become available in the near future. Keep an eye on the Gluster Users mailinglist [2] and the update (possibly an "updates-testing" repository) infrastructure for your distribution.

[1] http://supercolony.gluster.org/pipermail/gluster-users/2014-September/018836.html
[2] http://supercolony.gluster.org/pipermail/gluster-users/

Comment 32 Niels de Vos 2014-11-11 08:24:14 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.6.1, please reopen this bug report.

glusterfs-3.6.1 has been announced [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://supercolony.gluster.org/pipermail/gluster-users/2014-November/019410.html
[2] http://supercolony.gluster.org/mailman/listinfo/gluster-users


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