[ https://issues.apache.org/jira/browse/THRIFT-4963?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16940274#comment-16940274 ]
Fei Sun commented on THRIFT-4963: --------------------------------- We saw this deadlock too. The IO thread wait forever as the max pending tasks reached limit while the worker thread poll forever to send notify data back to IO thread. > TNonblockingServer blocked int addTask(IOThread) and notify(workerThread) > ------------------------------------------------------------------------- > > Key: THRIFT-4963 > URL: https://issues.apache.org/jira/browse/THRIFT-4963 > Project: Thrift > Issue Type: Bug > Components: C++ - Library > Affects Versions: 0.12.0 > Reporter: chenguang9239 > Priority: Major > > hello! > when using c++ TNonblockingServer(with thread pool),I found it blocked in > high QPS status. > I used pstack to print thread stack and found worker thread and IO thread > blocked at: > The worker thread will call notifyIOThread when it handle expired task, then > call TNonblockingIOThread::notify and wait for POLLOUT in poll without > timeout. > The IO thread will call addTask when it gets requests. And IO threads will > lock threadManager->mutex_ in addTask without a timeout > Is it a bug of thrift 0.12.0? -- This message was sent by Atlassian Jira (v8.3.4#803005)