thrift-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "chenguang9239 (Jira)" <j...@apache.org>
Subject [jira] [Updated] (THRIFT-4963) TNonblockingServer blocked int addTask(IOThread) and notify(workerThread)
Date Tue, 24 Sep 2019 08:09:00 GMT

     [ https://issues.apache.org/jira/browse/THRIFT-4963?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

chenguang9239 updated THRIFT-4963:
----------------------------------
    Description: 
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 finishes its work, 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?

  was:
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 both blocked at:

The worker thread will call notifyIOThread when it finishes its work, 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?


> 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
>    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 finishes its work, 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)

Mime
View raw message