I did some analysis on this and found out below mentioned log during the case of failure. [2015-06-08 03:45:21.317352] I [MSGID: 115071] [server-rpc-fops.c:1591:server_crea te_cbk] 0-patchy-server: 203: CREATE /test_dir/test1.txt (72fa9c7d-d4cd-474e-baae- 28dde9b15990/test1.txt) ==> (Disk quota exceeded) [Disk quota exceeded] The test case which fails is "TEST_IN_LOOP touch $M0/test_dir/test$i.txt", while creating a file "test1" (i.e i=1). This should not fail as "test1" is the first file being created in the directory where quota limit is set. The only possible explanation is that before creating the file "test1", we delete all the files present in that directory, and that information has not been updated by marker. Because of which the new file creation fails thinking the quota limit is still exceeded. The test case basically validates both the types of quota (size and inode). The reason for this spurious failure might be because of the delay in updating the information my marker. I will verify the same by inducing some delay before the execution of above mentioned testcase.
REVIEW: http://review.gluster.org/11125 (features/quota : Fix spurious failure) posted (#1) for review on master by Sachin Pandit (spandit)
REVIEW: http://review.gluster.org/11125 (features/quota : Fix spurious failure) posted (#2) for review on master by Vijay Bellur (vbellur)
REVIEW: http://review.gluster.org/11125 (features/quota : Fix spurious failure) posted (#3) for review on master by Sachin Pandit (spandit)
REVIEW: http://review.gluster.org/11125 (features/quota : Fix spurious failure) posted (#4) for review on master by Sachin Pandit (spandit)
REVIEW: http://review.gluster.org/11125 (features/quota : Fix spurious failure) posted (#5) for review on master by Sachin Pandit (spandit)
REVIEW: http://review.gluster.org/11125 (features/quota : Fix spurious failure) posted (#6) for review on master by Sachin Pandit (spandit)
REVIEW: http://review.gluster.org/11125 (features/quota : Fix spurious failure) posted (#7) for review on master by Sachin Pandit (spandit)
REVIEW: http://review.gluster.org/11125 (features/quota : Fix spurious failure) posted (#8) for review on master by Sachin Pandit (spandit)
REVIEW: http://review.gluster.org/11125 (features/quota : Fix spurious failure) posted (#10) for review on master by Sachin Pandit (spandit)
REVIEW: http://review.gluster.org/11125 (features/quota : Fix spurious failure) posted (#11) for review on master by Sachin Pandit (spandit)
REVIEW: http://review.gluster.org/11125 (features/quota : Fix spurious failure) posted (#12) for review on master by Sachin Pandit (spandit)
REVIEW: http://review.gluster.org/11125 (features/quota : Fix spurious failure) posted (#13) for review on master by Vijaikumar Mallikarjuna (vmallika)
REVIEW: http://review.gluster.org/11125 (features/quota : Fix spurious failure) posted (#14) for review on master by Vijaikumar Mallikarjuna (vmallika)
REVIEW: http://review.gluster.org/11125 (features/quota : Fix spurious failure) posted (#15) for review on master by Vijaikumar Mallikarjuna (vmallika)
REVIEW: http://review.gluster.org/11125 (features/quota : Fix spurious failure) posted (#16) for review on master by Vijaikumar Mallikarjuna (vmallika)
COMMIT: http://review.gluster.org/11125 committed in master by Krishnan Parthasarathi (kparthas) ------ commit 46d4d7ade012f86044135dd4af3101f851484cda Author: vmallika <vmallika> Date: Fri Jul 10 14:37:50 2015 +0530 features/quota : Fix spurious failure Problem : Basically, in this test case a file is created which exceeds the quota limit. Once the limit is reached that file will be deleted. At the same moment we are testing inode-quota. It can so happen that before the marker updates the information related to deletion of file, a new file creation operation comes and sees that quota limit is still exceeded. Solution : Inducing a check to see if marker updation completed successfully. Updated all the test case which has the similar machanism and also moved the "usage" function to a common place "volume.rc" Change-Id: I36ddbc5ebbf1b74c9d326a0d1d5f3b32f20a906a BUG: 1229297 Signed-off-by: Sachin Pandit <spandit> Signed-off-by: vmallika <vmallika> Reviewed-on: http://review.gluster.org/11125 Tested-by: NetBSD Build System <jenkins.org> Tested-by: Gluster Build System <jenkins.com> Reviewed-by: Krishnan Parthasarathi <kparthas>
REVIEW: http://review.gluster.org/11673 (quota: fix quota test case) posted (#1) for review on master by Vijaikumar Mallikarjuna (vmallika)
REVIEW: http://review.gluster.org/11673 (quota: fix quota test case) posted (#2) for review on master by Vijaikumar Mallikarjuna (vmallika)
COMMIT: http://review.gluster.org/11673 committed in master by Raghavendra G (rgowdapp) ------ commit d94b39a8e6080e51f7281d545f11514829c1265c Author: vmallika <vmallika> Date: Wed Jul 15 15:17:31 2015 +0530 quota: fix quota test case Below command is wrong way of executing mutilple command with | (pipe) local cmd="$CLI volume quota $V0 list $QUOTA_PATH | grep $QUOTA_PATH | awk '{print \$$FIELD}'" $cmd This patch fixes the issue This patch also fixes testcase inode-quota.t, which checking quota values in wrongs fields Change-Id: If28732e6a76ea4bf75560f6496c8f56670915cf9 BUG: 1229297 Signed-off-by: vmallika <vmallika> Reviewed-on: http://review.gluster.org/11673 Tested-by: NetBSD Build System <jenkins.org> Reviewed-by: Raghavendra G <rgowdapp>
Fix for this BZ is already present in a GlusterFS release. You can find clone of this BZ, fixed in a GlusterFS release and closed. Hence closing this mainline BZ as well.
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