Bug 1116672 - Resource cleanup doesn't happen for clients on servers after disconnect
Summary: Resource cleanup doesn't happen for clients on servers after disconnect
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: GlusterFS
Classification: Community
Component: protocol
Version: 3.5.1
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Pranith Kumar K
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks: glusterfs-3.5.2 1116703
TreeView+ depends on / blocked
 
Reported: 2014-07-07 02:47 UTC by Pranith Kumar K
Modified: 2014-07-31 11:43 UTC (History)
1 user (show)

Fixed In Version: glusterfs-3.5.2beta1
Doc Type: Bug Fix
Doc Text:
Clone Of:
: 1116703 (view as bug list)
Environment:
Last Closed: 2014-07-31 11:43:43 UTC
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Embargoed:


Attachments (Terms of Use)

Description Pranith Kumar K 2014-07-07 02:47:21 UTC
Description of problem:
If a file is opened at the time of disconnect following log comes and the memory associated with the connection is not cleaned up.
[2014-06-29 14:57:07.199502] E [client_t.c:401:gf_client_unref] (-->/usr/lib64/glusterfs/3.5.1/xlator/features/locks.so(pl_flush_cbk+0xb9) [0x7f2364ba5369] (-->/usr/lib64/glusterfs/3.5.1/xlator/performance/io-threads.so(iot_flush_cbk+0xb9) [0x7f236498acb9] (-->/usr/lib64/glusterfs/3.5.1/xlator/debug/io-stats.so(io_stats_flush_cbk+0xed) [0x7f236413220d]))) 0-client_t: client is NULL

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


How reproducible:
always

Steps to Reproduce:
1. do tailf on a file on the mount point
2. kill the mount process
3.

Actual results:


Expected results:


Additional info:

Comment 1 Anand Avati 2014-07-07 04:42:24 UTC
REVIEW: http://review.gluster.org/8247 (client_t: Fix memory leaks) posted (#1) for review on master by Pranith Kumar Karampuri (pkarampu)

Comment 2 Anand Avati 2014-07-09 12:09:32 UTC
COMMIT: http://review.gluster.org/8247 committed in master by Vijay Bellur (vbellur) 
------
commit 82e0fb290db880323613a3791acd33f96d421363
Author: Pranith Kumar K <pkarampu>
Date:   Sat Jul 5 12:19:28 2014 +0530

    client_t: Fix memory leaks
    
    - Assign frame->root->client so that gf_client_unref happens
      in server_connection_cleanup_flush_cbk
    - Avoid taking extra ref in gf_client_get
    
    TODO:
    The whole reason why there are two types of refs
    bind, ref-count is to avoid lock inside lock which
    is not the case now. I will be sending one more patch
    which will accomplish that as well as changing the
    tablearray to list
    
    Change-Id: Ic9971cf248c5ee2cdbfdef8e9ff6d54e3ec60ced
    BUG: 1116672
    Signed-off-by: Pranith Kumar K <pkarampu>
    Reviewed-on: http://review.gluster.org/8247
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Kaleb KEITHLEY <kkeithle>
    Reviewed-by: Vijay Bellur <vbellur>

Comment 3 Anand Avati 2014-07-10 13:08:03 UTC
REVIEW: http://review.gluster.org/8289 (client_t: Fix memory leaks) posted (#1) for review on release-3.5 by Pranith Kumar Karampuri (pkarampu)

Comment 4 Anand Avati 2014-07-11 08:39:55 UTC
REVIEW: http://review.gluster.org/8289 (client_t: Fix memory leaks) posted (#2) for review on release-3.5 by Pranith Kumar Karampuri (pkarampu)

Comment 5 Anand Avati 2014-07-14 09:38:30 UTC
COMMIT: http://review.gluster.org/8289 committed in release-3.5 by Niels de Vos (ndevos) 
------
commit 14aedbab7f07b581510677f7f036be5b35b39ff2
Author: Pranith Kumar K <pkarampu>
Date:   Sat Jul 5 12:19:28 2014 +0530

    client_t: Fix memory leaks
    
            Backport of http://review.gluster.org/8247
    
    - Assign frame->root->client so that gf_client_unref happens
      in server_connection_cleanup_flush_cbk
    - Avoid taking extra ref in gf_client_get
    
    TODO:
    The whole reason why there are two types of refs
    bind, ref-count is to avoid lock inside lock which
    is not the case now. I will be sending one more patch
    which will accomplish that as well as changing the
    tablearray to list
    
    BUG: 1116672
    Change-Id: Ica87b9cbf02cae34c10789cfb56d1ccdc393cbf0
    Signed-off-by: Pranith Kumar K <pkarampu>
    Reviewed-on: http://review.gluster.org/8289
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Niels de Vos <ndevos>

Comment 6 Niels de Vos 2014-07-21 15:42:06 UTC
The first (and last?) Beta for GlusterFS 3.5.2 has been released [1]. Please verify if the release solves this bug report for you. In case the glusterfs-3.5.2beta1 release does not have a resolution for this issue, leave a comment in this bug and move the status to ASSIGNED. If this release fixes the problem for you, leave a note and change the status to VERIFIED.

Packages for several distributions should become available in the near future. Keep an eye on the Gluster Users mailinglist [2] and the update (possibly an "updates-testing" repository) infrastructure for your distribution.

[1] http://supercolony.gluster.org/pipermail/gluster-devel/2014-July/041636.html
[2] http://supercolony.gluster.org/pipermail/gluster-users/

Comment 7 Niels de Vos 2014-07-31 11:43:43 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.5.2, please reopen this bug report.

glusterfs-3.5.2 has been announced on the Gluster Users mailinglist [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://supercolony.gluster.org/pipermail/gluster-users/2014-July/041217.html
[2] http://thread.gmane.org/gmane.comp.file-systems.gluster.user


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