Uploaded image for project: 'Apache Arrow'
  1. Apache Arrow
  2. ARROW-11866

[C++] Arrow Flight SetShutdownOnSignals cause potential mutex deadlock in gRPC

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Duplicate
    • 3.0.0
    • 4.0.0
    • FlightRPC
    • 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

          Activity

            People

              Unassigned Unassigned
              BitStream Lynch Wu
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Slack

                  Issue deployment