Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1409521

Summary: Enabling Quota takes significantly long time and it has regressed
Product: [Community] GlusterFS Reporter: Sanoj Unnikrishnan <sunnikri>
Component: quotaAssignee: bugs <bugs>
Status: CLOSED WONTFIX QA Contact:
Severity: high Docs Contact:
Priority: unspecified    
Version: mainlineCC: amukherj, bugs, hgowtham, nchilaka, rcyriac, rhs-bugs, storage-qa-internal
Target Milestone: ---Keywords: Triaged
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: 1406781 Environment:
Last Closed: 2018-11-21 03:13:17 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1406781    
Bug Blocks:    

Comment 1 Sanoj Unnikrishnan 2017-01-02 11:19:55 UTC
Quota enable is taking longer time and has regressed:

This is  a result of commit c2865e83d414e375443adac0791887c8adf444f2.
This commit makes the crawling process per brick to speed up crawling. 
These per-brick crawler are started serially in glusterd_quota_initiate_fs_crawl. So the time taken for quota enable will be linearly proportional to number of bricks in the volume.

Suggested Fix:
Currently a double fork (per brick) is done to prevent the process from blocking while collecting exit status from immediate child.
The waitpid calls can be done after all the crawlers are forked to reduce the time.


Time taken with this commit :
a) for volume with 3 bricks 

[root@rhs-cli-08 glusterfs]# gluster v create v1 10.8.152.8:/export/sdb/b1 10.8.152.8:/export/sdb/b2 10.8.152.8:/export/sdb/b3 force
volume create: v1: success: please start the volume to access data

[root@rhs-cli-08 glusterfs]# gluster v start v1
volume start: v1: success
[root@rhs-cli-08 glusterfs]# time gluster v quota v1 enable
volume quota : success
real	0m16.625s
user	0m0.089s
sys	0m0.018s

b) For volume with 15 bricks:

[root@rhs-cli-08 glusterfs]# gluster v create v2 10.8.152.8:/export/sdb/c1 10.8.152.8:/export/sdb/c2 10.8.152.8:/export/sdb/c3 10.8.152.8:/export/sdb/c4 10.8.152.8:/export/sdb/c5 10.8.152.8:/export/sdb/c6 10.8.152.8:/export/sdb/c7 10.8.152.8:/export/sdb/c8 10.8.152.8:/export/sdb/c9 10.8.152.8:/export/sdb/c10 10.8.152.8:/export/sdb/c11 10.8.152.8:/export/sdb/c12 10.8.152.8:/export/sdb/c13 10.8.152.8:/export/sdb/c14 10.8.152.8:/export/sdb/c15 10.8.152.8:/export/sdb/c16 force
volume create: v2: success: please start the volume to access data
[root@rhs-cli-08 glusterfs]# 
[root@rhs-cli-08 glusterfs]# gluster v start v2

[root@rhs-cli-08 glusterfs]# time gluster v quota v2 enable
volume quota : success

real	1m11.180s
user	0m0.087s
sys	0m0.025s


with previous commit it took about 8s for both volumes v1, v2

Comment 2 Worker Ant 2017-01-12 12:48:25 UTC
REVIEW: http://review.gluster.org/16383 (Reduce response time of quota enable command) posted (#1) for review on master by sanoj-unnikrishnan (sunnikri)

Comment 3 Worker Ant 2017-01-27 10:30:42 UTC
REVIEW: https://review.gluster.org/16383 (Reduce response time of quota enable command) posted (#2) for review on master by sanoj-unnikrishnan (sunnikri)

Comment 4 Worker Ant 2017-02-02 16:25:39 UTC
REVIEW: https://review.gluster.org/16383 (Reduce response time of quota enable command) posted (#3) for review on master by sanoj-unnikrishnan (sunnikri)

Comment 5 Worker Ant 2017-05-05 06:16:07 UTC
REVIEW: https://review.gluster.org/16383 (Reduce response time of quota enable command) posted (#4) for review on master by sanoj-unnikrishnan (sunnikri)

Comment 6 Worker Ant 2017-05-05 06:36:55 UTC
REVIEW: https://review.gluster.org/16383 (Reduce response time of quota enable command) posted (#5) for review on master by sanoj-unnikrishnan (sunnikri)

Comment 7 Sanoj Unnikrishnan 2017-10-10 10:58:08 UTC
Earlier patch was abandoned in favor of approach of using a hook script

Comment 9 hari gowtham 2018-11-21 03:13:17 UTC
As quota is not being actively developed, we are closing this bug.