Bug 1250797

Summary: rpc: Address issues with transport object reference and leak
Product: [Community] GlusterFS Reporter: Soumya Koduri <skoduri>
Component: rpcAssignee: Soumya Koduri <skoduri>
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:
: 1254607 (view as bug list) Environment:
Last Closed: 2016-06-16 13:28:57 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: 1254607    

Description Soumya Koduri 2015-08-06 03:23:27 UTC
Description of problem:

We have seen a couple of issues with transport object reference and leak in rpc
layer, particularly with 'rpc_clnt_disable', 

a) Once the transport object is disassociated from rpc->conn, it should not be 
referenced further. Fix is needed in 'rpc_clnt_remove_ping_timer_locked'.

b) Unref transport object to avoid memory leak.

Comment 1 Anand Avati 2015-08-08 10:50:48 UTC
COMMIT: http://review.gluster.org/11845 committed in master by Kaleb KEITHLEY (kkeithle) 
------
commit 6e8c137fb7deca75817d617d40ebd58bbcae186a
Author: Soumya Koduri <skoduri>
Date:   Thu Aug 6 06:22:38 2015 +0530

    rpc-clnt: Check for transport object during rpc connection cleanup
    
    While doing glfs_fini(), all the xlators are first notified of
    PARENT_DOWN. protocol-client xlator on receving that notification
    does rpc_clnt_disable which disassociates rpc->conn with its
    transport object and does socket shutdown. So any further references
    to conn->trans should not happen during rpc connection cleanup which
    is done mainly as part of epoll event handling of EPOLLERR/EPOLLHUP.
    
    BUG: 1250797
    Change-Id: I7d0346451d40372ad59a6a2326176fbb1e694712
    Signed-off-by: Soumya Koduri <skoduri>
    Reviewed-on: http://review.gluster.org/11845
    Reviewed-by: Raghavendra G <rgowdapp>
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Kaleb KEITHLEY <kkeithle>

Comment 2 Nagaprasad Sathyanarayana 2015-10-25 15:18:55 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 3 Niels de Vos 2016-06-16 13:28:57 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