Bug 1200267

Summary: Upcall: Cleanup the expired upcall entries
Product: [Community] GlusterFS Reporter: Soumya Koduri <skoduri>
Component: upcallAssignee: Soumya Koduri <skoduri>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: low Docs Contact:
Priority: unspecified    
Version: mainlineCC: bugs, gluster-bugs
Target Milestone: ---Keywords: Reopened, Triaged
Target Release: ---   
Hardware: All   
OS: All   
Whiteboard: FutureFeature
Fixed In Version: glusterfs-3.8rc2 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 1218567 (view as bug list) Environment:
Last Closed: 2016-06-16 12:43: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:    
Bug Blocks: 1200262, 1218567, 1231516    

Description Soumya Koduri 2015-03-10 07:32:17 UTC
Description of problem:

Need support to cleanup all the expired/stale upcall client entries maintained by the upcall xlator.

Comment 1 Soumya Koduri 2015-03-12 05:39:20 UTC
Also note that "inode_forget" is never called on non-exmpty directories. This is to take that into account while trying to cleanup the entries.

Comment 2 Soumya Koduri 2015-03-16 13:20:45 UTC
In addition - will address below comments received as part of
http://review.gluster.org/#/c/9535 - 

* Instead of client_uid, use client_ref(client) in upcall_client_entry structure. But that may result in not cleaning up client object incase of network disconnects.

Comment 3 Anand Avati 2015-04-22 18:31:44 UTC
REVIEW: http://review.gluster.org/10342 (Upcall: Cleanup expired client entries) posted (#1) for review on master by soumya k (skoduri)

Comment 4 Anand Avati 2015-04-23 14:13:01 UTC
REVIEW: http://review.gluster.org/10342 (Upcall: Cleanup expired client entries) posted (#2) for review on master by soumya k (skoduri)

Comment 5 Anand Avati 2015-04-24 17:24:40 UTC
REVIEW: http://review.gluster.org/10342 (Upcall: Cleanup expired client entries) posted (#3) for review on master by soumya k (skoduri)

Comment 6 Anand Avati 2015-04-27 09:06:59 UTC
REVIEW: http://review.gluster.org/10342 (Upcall: Cleanup expired client entries) posted (#4) for review on master by soumya k (skoduri)

Comment 7 Anand Avati 2015-06-12 14:39:18 UTC
REVIEW: http://review.gluster.org/11198 (upcall: prevent busy loop in reaper thread) posted (#2) for review on master by Niels de Vos (ndevos)

Comment 8 Anand Avati 2015-06-14 10:21:00 UTC
COMMIT: http://review.gluster.org/11198 committed in master by Niels de Vos (ndevos) 
------
commit a367d4c6965e1f0da36f17ab6c5fdbd37925ebdd
Author: Niels de Vos <ndevos>
Date:   Fri Jun 12 12:31:19 2015 +0200

    upcall: prevent busy loop in reaper thread
    
    http://review.gluster.org/10342 introduced a cleanup thread for expired
    client entries. When enabling the 'features.cache-invalidation' volume
    option, the brick process starts to run in a busy-loop. Obviously this
    is not intentional, and a process occupying 100% of the cycles on a CPU
    or core is not wanted.
    
    Change-Id: I453c612d72001f4d8bbecdd5ac07aaed75b43914
    BUG: 1200267
    Signed-off-by: Niels de Vos <ndevos>
    Reviewed-on: http://review.gluster.org/11198
    Reviewed-by: soumya k <skoduri>
    Reviewed-by: Kaleb KEITHLEY <kkeithle>
    Tested-by: Gluster Build System <jenkins.com>

Comment 9 Nagaprasad Sathyanarayana 2015-10-25 14:58:12 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 10 Niels de Vos 2016-06-16 12:43:17 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