Description of problem: When enable or disable quota, quotad service will be restarted in order to reload the changes. But this logic can make a problem when multiple quota requests are sent concurrently. Some commit operation could be failed and there might be inconsistent of quota status among replicas. To avoid this situation, reload the quotad and glustershd service instead of restarting when needed. Version-Release number of selected component (if applicable): 3.13 and master branch also How reproducible: Enable quota of number of volumes concurrently and check the consistency of quota status among each nodes. Steps to Reproduce: 1. prepare a gluster cluster consist of three nodes. 2. create 50 volumes with three replicas. 3. start 50 volumes concurrently. 4. enable quota of the volumes concurrently. 5. retrieve number of volumes that have a `features.quota: on` option from each node. 6. check there is inconsistency of quota status among each nodes. Actual results: Therea are inconsistency of number of volumes that have a 'features.quota: on' option among each nodes. Expected results: Number of volumes that have a `features.quota: on` option of all of replica nodes have to be same. Additional info: In this case, below error message was written in glusterd.log file. ``` E [MSGID: 106122] [glusterd-syncop.c:1482:gd_commit_op_phase] 0-management: Commit of operation 'Volume Quota' failed on localhost ```
I've Submitted a patch for this bug. Please refer to that. https://review.gluster.org/#/c/19398/
Reopened the patch (it was abandon'd due to inactivity). Needs a rebase, as there are merge conflicts.
Can you rebase your patch?
This bug is moved to https://github.com/gluster/glusterfs/issues/923, and will be tracked there from now on. Visit GitHub issues URL for further details
The needinfo request[s] on this closed bug have been removed as they have been unresolved for 1000 days