Bug 1358608 - Memory leak observed with upcall polling
Summary: Memory leak observed with upcall polling
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: GlusterFS
Classification: Community
Component: upcall
Version: mainline
Hardware: All
OS: All
unspecified
high
Target Milestone: ---
Assignee: Soumya Koduri
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks: 1338068 1361665 1362010
TreeView+ depends on / blocked
 
Reported: 2016-07-21 06:52 UTC by Soumya Koduri
Modified: 2017-03-27 18:17 UTC (History)
1 user (show)

Fixed In Version: glusterfs-3.9.0
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
: 1361665 1362010 (view as bug list)
Environment:
Last Closed: 2017-03-27 18:17:28 UTC
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Embargoed:


Attachments (Terms of Use)

Description Soumya Koduri 2016-07-21 06:52:58 UTC
Description of problem:

There is memory leak observed when there are large number of upcall notifications generated. Ideally after polling them, all the upcall events generated should be cleaned up. But that wasn't the case. There were few upcall events not cleaned up and resulted in memory leak.

The issue is that during polling (currently), upcall entries are not removed under mutex lock. This resulted in the list corruption leaving few entries from being removed.

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


How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

Comment 1 Vijay Bellur 2016-07-21 06:54:30 UTC
REVIEW: http://review.gluster.org/14972 (glfs/upcall: entries should be removed under mutex lock) posted (#1) for review on master by soumya k (skoduri)

Comment 2 Vijay Bellur 2016-07-21 07:06:22 UTC
REVIEW: http://review.gluster.org/14972 (glfs/upcall: entries should be removed under mutex lock) posted (#2) for review on master by soumya k (skoduri)

Comment 3 Vijay Bellur 2016-07-22 09:08:58 UTC
REVIEW: http://review.gluster.org/14984 (gfapi/upcall: Fix a ref leak) posted (#1) for review on master by soumya k (skoduri)

Comment 4 Vijay Bellur 2016-07-22 15:13:33 UTC
COMMIT: http://review.gluster.org/14972 committed in master by Jeff Darcy (jdarcy) 
------
commit 89dee8b46e126bc1d7541da90fa60844aa83451e
Author: Soumya Koduri <skoduri>
Date:   Thu Jul 21 12:14:27 2016 +0530

    glfs/upcall: entries should be removed under mutex lock
    
    During poll, upcall entries should be removed from the
    upcall_list only under upcall_list_mutex lock. Otherwise
    it could result in the list corruption if there are entries
    being added during poll resulting in memory leak.
    
    Also addressed a probable leak during any failures with upcall
    entry addition.
    
    Change-Id: I468183f961eb6faed9a0a1bcb783705f711641fc
    BUG: 1358608
    Signed-off-by: Soumya Koduri <skoduri>
    Reviewed-on: http://review.gluster.org/14972
    Smoke: Gluster Build System <jenkins.org>
    NetBSD-regression: NetBSD Build System <jenkins.org>
    Reviewed-by: Shyamsundar Ranganathan <srangana>
    CentOS-regression: Gluster Build System <jenkins.org>
    Reviewed-by: Jeff Darcy <jdarcy>

Comment 5 Vijay Bellur 2016-07-24 09:55:32 UTC
COMMIT: http://review.gluster.org/14984 committed in master by Kaleb KEITHLEY (kkeithle) 
------
commit bb48eb46910085928efbd7fb491c5b2db25bba98
Author: Soumya Koduri <skoduri>
Date:   Fri Jul 22 13:15:58 2016 +0530

    gfapi/upcall: Fix a ref leak
    
    inode_find (used to create the handle) takes a reference
    of the inode. This needs to be un'refernced to avoid leak.
    
    Change-Id: I22f03577a8f1d9608cfc62d57202cfc4c2ba12b3
    BUG: 1358608
    Signed-off-by: Soumya Koduri <skoduri>
    Reviewed-on: http://review.gluster.org/14984
    Reviewed-by: jiffin tony Thottan <jthottan>
    Smoke: Gluster Build System <jenkins.org>
    CentOS-regression: Gluster Build System <jenkins.org>
    Reviewed-by: Jeff Darcy <jdarcy>
    NetBSD-regression: NetBSD Build System <jenkins.org>
    Tested-by: Gluster Build System <jenkins.org>

Comment 6 Shyamsundar 2017-03-27 18:17:28 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.9.0, please open a new bug report.

glusterfs-3.9.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://lists.gluster.org/pipermail/gluster-users/2016-November/029281.html
[2] https://www.gluster.org/pipermail/gluster-users/


Note You need to log in before you can comment on or make changes to this bug.