Description of problem: On a 2 node cluster(N1 &N2), create one volume of type distributed. Now set cluster.server-quorum-ratio to 90% and set cluster.server-quorum-type to server. Start the volume and stop glusterd on one of the node. Now if you try to stop the volume the volumes stops successfully but ideally it shouldn't stop. How reproducible: 5/5 Steps to Reproduce: 1. Create a cluster with 2 nodes. 2. Create a volume of type distributed. 3. Set cluster.server-quorum-ratio to 90. 4. Set server-quorum-type to server. 5. Start the volume. 6. Stop glusterd on one node. 7. Stop the volume.(Should fail!) Actual results: volume stop: testvol_distributed: success Expected results: volume stop: testvol_distributed: failed: Quorum not met. Volume operation not allowed. Additional info:
This looks like a bug and should be an easy fix.
REVIEW: https://review.gluster.org/22692 (glusterd: Add gluster volume stop operation to glusterd_validate_quorum()) posted (#1) for review on master by Vishal Pandey
Root cause : Since the volume stop command has been ported from synctask to mgmt_v3, the quorum check was missed out in mgmt_v3 for stop volume transaction.
REVIEW: https://review.gluster.org/22692 (glusterd: Add gluster volume stop operation to glusterd_validate_quorum()) merged (#4) on master by Atin Mukherjee