Bug 1694561

Summary: gfapi: do not block epoll thread for upcall notifications
Product: [Community] GlusterFS Reporter: Soumya Koduri <skoduri>
Component: libgfapiAssignee: bugs <bugs>
Status: CLOSED CURRENTRELEASE QA Contact: bugs <bugs>
Severity: high Docs Contact:
Priority: unspecified    
Version: 6CC: bugs, pasik
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: All   
Whiteboard:
Fixed In Version: glusterfs-6.1 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: 1693575 Environment:
Last Closed: 2019-04-03 04:31:42 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On: 1693575, 1694562, 1694563, 1694565    
Bug Blocks:    

Description Soumya Koduri 2019-04-01 05:59:09 UTC
+++ This bug was initially created as a clone of Bug #1693575 +++

Description of problem:

With https://review.gluster.org/#/c/glusterfs/+/21783/, we have made changes to offload processing upcall notifications to synctask so as not to block epoll threads. However seems like the purpose wasnt fully resolved. 

In "glfs_cbk_upcall_data" -> "synctask_new1" after creating synctask if there is no callback defined, the thread waits on synctask_join till the syncfn is finished. So that way even with those changes, epoll threads are blocked till the upcalls are processed.

Hence the right fix now is to define a callback function for that synctask "glfs_cbk_upcall_syncop" so as to unblock epoll/notify threads completely and the upcall processing can happen in parallel by synctask threads.

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


How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

--- Additional comment from Soumya Koduri on 2019-03-28 09:28:58 UTC ---

Users have complained about nfs-ganesha process getting stuck here - https://github.com/nfs-ganesha/nfs-ganesha/issues/335

--- Additional comment from Worker Ant on 2019-03-28 09:34:11 UTC ---

REVIEW: https://review.gluster.org/22436 (gfapi: Unblock epoll thread for upcall processing) posted (#1) for review on master by soumya k

--- Additional comment from Worker Ant on 2019-03-29 07:25:10 UTC ---

REVIEW: https://review.gluster.org/22436 (gfapi: Unblock epoll thread for upcall processing) merged (#4) on master by Amar Tumballi

Comment 1 Worker Ant 2019-04-01 06:02:10 UTC
REVIEW: https://review.gluster.org/22459 (gfapi: Unblock epoll thread for upcall processing) posted (#1) for review on release-6 by soumya k

Comment 2 Worker Ant 2019-04-03 04:31:42 UTC
REVIEW: https://review.gluster.org/22459 (gfapi: Unblock epoll thread for upcall processing) merged (#2) on release-6 by Amar Tumballi

Comment 3 Shyamsundar 2019-04-22 13:33:13 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-6.1, please open a new bug report.

glusterfs-6.1 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] https://lists.gluster.org/pipermail/announce/2019-April/000124.html
[2] https://www.gluster.org/pipermail/gluster-users/