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:
REVIEW: http://review.gluster.org/5994 (glusterd: Volume locks and transaction specific opinfos) posted (#1) for review on master by Avra Sengupta (asengupt)
REVIEW: http://review.gluster.org/5994 (glusterd: Volume locks and transaction specific opinfos) posted (#2) for review on master by Avra Sengupta (asengupt)
REVIEW: http://review.gluster.org/5994 (glusterd: Volume locks and transaction specific opinfos) posted (#3) for review on master by Avra Sengupta (asengupt)
REVIEW: http://review.gluster.org/5994 (glusterd: Volume locks and transaction specific opinfos) posted (#4) for review on master by Avra Sengupta (asengupt)
REVIEW: http://review.gluster.org/5994 (glusterd: Volume locks and transaction specific opinfos) posted (#5) for review on master by Avra Sengupta (asengupt)
REVIEW: http://review.gluster.org/5994 (glusterd: Volume locks and transaction specific opinfos) posted (#6) for review on master by Avra Sengupta (asengupt)
REVIEW: http://review.gluster.org/5994 (glusterd: Volume locks and transaction specific opinfos) posted (#7) for review on master by Avra Sengupta (asengupt)
REVIEW: http://review.gluster.org/5994 (glusterd: Volume locks and transaction specific opinfos) posted (#8) for review on master by Avra Sengupta (asengupt)
REVIEW: http://review.gluster.org/5994 (glusterd: Volume locks and transaction specific opinfos) posted (#9) for review on master by Avra Sengupta (asengupt)
REVIEW: http://review.gluster.org/5994 (glusterd: Volume locks and transaction specific opinfos) posted (#10) for review on master by Avra Sengupta (asengupt)
REVIEW: http://review.gluster.org/5994 (glusterd: Volume locks and transaction specific opinfos) posted (#11) for review on master by Avra Sengupta (asengupt)
REVIEW: http://review.gluster.org/5994 (glusterd: Volume locks and transaction specific opinfos) posted (#12) for review on master by Avra Sengupta (asengupt)
REVIEW: http://review.gluster.org/5994 (glusterd: Volume locks and transaction specific opinfos) posted (#13) for review on master by Avra Sengupta (asengupt)
REVIEW: http://review.gluster.org/5994 (glusterd: Volume locks and transaction specific opinfos) posted (#14) for review on master by Avra Sengupta (asengupt)
REVIEW: http://review.gluster.org/5994 (glusterd: Volume locks and transaction specific opinfos) posted (#15) for review on master by Avra Sengupta (asengupt)
REVIEW: http://review.gluster.org/5994 (glusterd: Volume locks and transaction specific opinfos) posted (#16) for review on master by Avra Sengupta (asengupt)
REVIEW: http://review.gluster.org/5994 (glusterd: Volume locks and transaction specific opinfos) posted (#17) for review on master by Avra Sengupta (asengupt)
REVIEW: http://review.gluster.org/5994 (glusterd: Volume locks and transaction specific opinfos) posted (#18) for review on master by Avra Sengupta (asengupt)
REVIEW: http://review.gluster.org/5994 (glusterd: Volume locks and transaction specific opinfos) posted (#19) for review on master by Avra Sengupta (asengupt)
REVIEW: http://review.gluster.org/5994 (glusterd: Volume locks and transaction specific opinfos) posted (#20) for review on master by Avra Sengupta (asengupt)
REVIEW: http://review.gluster.org/5994 (glusterd: Volume locks and transaction specific opinfos) posted (#21) for review on master by Avra Sengupta (asengupt)
REVIEW: http://review.gluster.org/5994 (glusterd: Volume locks and transaction specific opinfos) posted (#22) for review on master by Avra Sengupta (asengupt)
REVIEW: http://review.gluster.org/5994 (glusterd: Volume locks and transaction specific opinfos) posted (#23) for review on master by Avra Sengupta (asengupt)
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>
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)
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)
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>
REVIEW: http://review.gluster.org/7032 (glusterd: Volume locks and transaction specific opinfos) posted (#1) for review on master by Rajesh Joseph (rjoseph)
Avra, Do you have any specific test case(s) for the same ?
tests/basic/volume-locks.t addresses it
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/
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