Bug 1237381

Summary: Throttle background heals in disperse volumes
Product: [Community] GlusterFS Reporter: Pranith Kumar K <pkarampu>
Component: disperseAssignee: bugs <bugs>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: mainlineCC: bugs, gluster-bugs
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: glusterfs-3.8rc2 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 1238476 (view as bug list) Environment:
Last Closed: 2016-06-16 13:17:51 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:    
Bug Blocks: 1238476    

Description Pranith Kumar K 2015-07-01 01:27:40 UTC
Description of problem:
If the number of background heals increase then the mount can die because of OOM killers. Number of background heals need to be throttled.

Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

Comment 1 Anand Avati 2015-07-01 02:09:29 UTC
REVIEW: http://review.gluster.org/11471 (cluster/ec: Add throttling in background healing) posted (#1) for review on master by Pranith Kumar Karampuri (pkarampu)

Comment 2 Anand Avati 2015-07-01 02:09:44 UTC
REVIEW: http://review.gluster.org/11472 (cluster/ec: Remove dead code) posted (#1) for review on master by Pranith Kumar Karampuri (pkarampu)

Comment 3 Anand Avati 2015-07-01 02:09:55 UTC
REVIEW: http://review.gluster.org/11473 (cluster/ec: Make background healing optional behavior) posted (#1) for review on master by Pranith Kumar Karampuri (pkarampu)

Comment 4 Anand Avati 2015-07-01 17:42:49 UTC
REVIEW: http://review.gluster.org/11495 (libglusterfs: Use GF_CALLOC/GF_FREE instead of CALLOC/FREE) posted (#1) for review on master by Pranith Kumar Karampuri (pkarampu)

Comment 5 Anand Avati 2015-07-01 19:18:53 UTC
COMMIT: http://review.gluster.org/11472 committed in master by Vijay Bellur (vbellur) 
------
commit c66026b9bf521172f49ce36a5a7b94fae1bbf267
Author: Pranith Kumar K <pkarampu>
Date:   Tue Jun 30 22:09:57 2015 +0530

    cluster/ec: Remove dead code
    
    Change-Id: I99d7a038f29cebe823e17a8dda40d335441185bc
    BUG: 1237381
    Signed-off-by: Pranith Kumar K <pkarampu>
    Reviewed-on: http://review.gluster.org/11472
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Xavier Hernandez <xhernandez>
    Tested-by: NetBSD Build System <jenkins.org>

Comment 6 Anand Avati 2015-07-02 00:10:02 UTC
COMMIT: http://review.gluster.org/11471 committed in master by Pranith Kumar Karampuri (pkarampu) 
------
commit fb20db2078dd7fe1a202f8c0c6f8bd7ecc7ff875
Author: Pranith Kumar K <pkarampu>
Date:   Tue Jun 30 18:45:36 2015 +0530

    cluster/ec: Add throttling in background healing
    
    - 8 parallel heals can happen.
    - 128 heals will wait for their turn
    - Heals will be rejected if 128 heals are already waiting.
    
    Change-Id: I2e99bf064db7bce71838ed9901a59ffd565ac390
    BUG: 1237381
    Signed-off-by: Pranith Kumar K <pkarampu>
    Reviewed-on: http://review.gluster.org/11471
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Xavier Hernandez <xhernandez>
    Tested-by: NetBSD Build System <jenkins.org>

Comment 7 Anand Avati 2015-07-02 03:31:15 UTC
REVIEW: http://review.gluster.org/11473 (cluster/ec: Make background healing optional behavior) posted (#2) for review on master by Pranith Kumar Karampuri (pkarampu)

Comment 8 Anand Avati 2015-07-02 07:36:32 UTC
COMMIT: http://review.gluster.org/11495 committed in master by Vijay Bellur (vbellur) 
------
commit e7f2547f89dbcd90cdb3714f63620a36bdc2ef3a
Author: Pranith Kumar K <pkarampu>
Date:   Wed Jul 1 22:32:44 2015 +0530

    libglusterfs: Use GF_CALLOC/GF_FREE instead of CALLOC/FREE
    
    - Also removed numbers for the types as the string form of type is printed in
      statedump now, so the numbers are not needed anymore.
    
    Change-Id: I6e8c15a1dc8cb6187842f96f1d46ec0f26a602b4
    BUG: 1237381
    Signed-off-by: Pranith Kumar K <pkarampu>
    Reviewed-on: http://review.gluster.org/11495
    Tested-by: Gluster Build System <jenkins.com>
    Tested-by: NetBSD Build System <jenkins.org>
    Reviewed-by: Vijay Bellur <vbellur>

Comment 9 Anand Avati 2015-07-02 11:27:04 UTC
REVIEW: http://review.gluster.org/11473 (cluster/ec: Make background healing optional behavior) posted (#3) for review on master by Pranith Kumar Karampuri (pkarampu)

Comment 10 Anand Avati 2015-07-02 11:38:00 UTC
REVIEW: http://review.gluster.org/11473 (cluster/ec: Make background healing optional behavior) posted (#4) for review on master by Pranith Kumar Karampuri (pkarampu)

Comment 11 Anand Avati 2015-07-06 10:31:29 UTC
COMMIT: http://review.gluster.org/11473 committed in master by Xavier Hernandez (xhernandez) 
------
commit c6742adc98a9747f5e16c242aaddc28ea991ec5a
Author: Pranith Kumar K <pkarampu>
Date:   Tue Jun 30 23:01:36 2015 +0530

    cluster/ec: Make background healing optional behavior
    
    Provide options to control number of active background heal count and qlen.
    
    Change-Id: Idc2419219d881f47e7d2e9bbc1dcdd999b372033
    BUG: 1237381
    Signed-off-by: Pranith Kumar K <pkarampu>
    Reviewed-on: http://review.gluster.org/11473
    Reviewed-by: Xavier Hernandez <xhernandez>
    Tested-by: Gluster Build System <jenkins.com>

Comment 12 Nagaprasad Sathyanarayana 2015-10-25 15:02:08 UTC
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.

Comment 13 Niels de Vos 2016-06-16 13:17:51 UTC
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