Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Duplicate
-
3.0.0
-
None
-
* Arrow 3.0
* gcc (Debian 10.2.0-16) 10.2.0
* grpc 1.33.1/C++
Description
1. When starting a Flight Server with shut down signal (SIGTERM) and using `Ctrl + C` to terminate the server cause potential mutex deadlock in gRPC.
- gcc (Debian 10.2.0-16) 10.2.0
- grpc 1.33.1/C++
2. https://github.com/apache/arrow/blob/master/cpp/src/arrow/flight/test_server.cc This test case can be used as minimal code to re-produce the issue with above gRPC version and gcc version on Debian 10.2.0.
3. Related gRPC issue is: https://github.com/grpc/grpc/issues/24884
4. I am wandering whether the way handling the signal is proper with gRPC here: https://github.com/apache/arrow/blob/master/cpp/src/arrow/flight/server.cc#L881
5. The recommended way to use a completion queue: https://github.com/grpc/grpc/blob/v1.35.0/examples/cpp/helloworld/greeter_async_server.cc
Feel free to share your thoughts for this.
Attachments
Issue Links
- duplicates
-
ARROW-11560 [FlightRPC][C++][Python] Interrupting a Flight server results in abort
- Resolved