thrift-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Amar Agrawal <amar.agra...@revx.io>
Subject Deadlock in Thrift C++ TNonBlockingServer
Date Wed, 23 Aug 2017 15:04:44 GMT
Hi,

We have implemented an application server using TNonBlockingServer in C++ (thrift version
0.10.0). We experience intermittent application hangup (suspect on high load) where the worker
threads no longer accept incoming connections.

Analyzing thread dumps shows that all worker threads are waiting on manager monitor locks.
This looks like a deadlock as the application is unable to get out of this state without a
restart.

We also see exactly one thread waiting on select after handling a task expiry always. Can
anybody help understand if this is a bug in task expiry handler?

- Thrift version: 0.10.0
- Library: C++
 - Thread Model: Non Blocking
- Number of worker threads: 8 CPU cores: 4

(Thread dump attached)


Regards,
Amar Agrawal
RevX<http://revx.io/>, VP of Engineering
+91 - 9986 303 844 | amar.komli@skype<mailto:amar.komli@skype>

Customer Success Stories<http://revx.io/success-stories> | Latest Blogs<http://revx.io/blog>
| www.revx.io<http://www.revx.io/>
Facebook<https://www.facebook.com/RevXPlatform/> | LinkedIn<https://www.linkedin.com/company/revx-remarketing-platform>
| Twitter<https://twitter.com/RevX_Platform>
[RevX_Logo]<http://www.revx.io/>


Mime
View raw message