Rasmus Johansson created THRIFT-5194:
----------------------------------------
Summary: Race condition(?) in TEvhttpClientChannel if
event_base_loop run in separate thread.
Key: THRIFT-5194
URL: https://issues.apache.org/jira/browse/THRIFT-5194
Project: Thrift
Issue Type: Bug
Components: C++ - Library
Affects Versions: 0.13.0
Environment: Running on minideb (Debian image for docker) in docker
container.
Reporter: Rasmus Johansson
If I run the event_base_loop() in a separate thread, and make the RPC calls
from the main thread, the main thread can be preempted between line 85 and line
90 in TEvhttpClientChannel.cpp by the separate thread . That is, it adds the
event to the event_base, but it does not add the request to the completion
queue, causing an assert failure for the separate thread in
TEvHttpClientChannel::finish (assert !completionQueue.empty()).
--
This message was sent by Atlassian Jira
(v8.3.4#803005)