[
https://issues.apache.org/jira/browse/THRIFT-4963?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jens Geyer resolved THRIFT-4963.
--------------------------------
Fix Version/s: 0.14.0
Assignee: Kanishth Karthik
Resolution: Fixed
> 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
> Assignee: Kanishth Karthik
> Priority: Major
> Fix For: 0.14.0
>
> Attachments: CppClient.cpp, CppServer.cpp, deadlock_thread.png,
> wait_timeout.png
>
> Time Spent: 20m
> Remaining Estimate: 0h
>
> 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)