Bug 1694562 - gfapi: do not block epoll thread for upcall notifications
Summary: gfapi: do not block epoll thread for upcall notifications
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: GlusterFS
Classification: Community
Component: libgfapi
Version: 5
Hardware: All
OS: All
unspecified
high
Target Milestone: ---
Assignee: bugs@gluster.org
QA Contact: bugs@gluster.org
URL:
Whiteboard:
Depends On: 1693575 1694563 1694565
Blocks: 1694561
TreeView+ depends on / blocked
 
Reported: 2019-04-01 05:59 UTC by Soumya Koduri
Modified: 2019-04-18 11:10 UTC (History)
2 users (show)

Fixed In Version: glusterfs-5.6
Clone Of: 1693575
Environment:
Last Closed: 2019-04-08 14:05:22 UTC
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Gluster.org Gerrit 22460 0 None Merged gfapi: Unblock epoll thread for upcall processing 2019-04-08 14:05:20 UTC

Description Soumya Koduri 2019-04-01 05:59:32 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:03:20 UTC
REVIEW: https://review.gluster.org/22460 (gfapi: Unblock epoll thread for upcall processing) posted (#1) for review on release-5 by soumya k

Comment 2 Worker Ant 2019-04-08 14:05:22 UTC
REVIEW: https://review.gluster.org/22460 (gfapi: Unblock epoll thread for upcall processing) merged (#1) on release-5 by soumya k

Comment 3 Shyamsundar 2019-04-18 11:10:09 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-5.6, please open a new bug report.

glusterfs-5.6 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/000123.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.