billyean opened a new issue, #44771: URL: https://github.com/apache/arrow/issues/44771
### Describe the usage question you have. Please include as many useful details as possible. Arrow version: 15. Client: C++ Server: Java I have a Java arrow flight server that uses doExchange to read the context, my server code is as follows, I have identified in multiple thread environment, in the tests many calls would stuck at the line ```FlightDescriptor descriptor = reader.getDescriptor();``` in the second time(Which means the first call in the same thread usually is not blocked), and which makes the following requests also stucks. ``` public void doExchange(CallContext context, FlightStream reader, ServerStreamListener writer) { log.info("Start to call doExchange........."); // Trying to try (BufferAllocator allocator = allocatorPool.submit( () -> this.allocator.newChildAllocator("exchange", 0, Long.MAX_VALUE)).get()) { FlightDescriptor descriptor = reader.getDescriptor(); List<String> path = descriptor.getPath(); String type = path.get(0); String funcSignature = path.get(1); ... ``` The client code is as follows ``` std::vector<std::shared_ptr<RecordBatch>> UDFClient::Call( const std::vector<std::string>& paths, std::shared_ptr<RecordBatch>& batch) const { // Create a FlightDescriptor using a path FlightDescriptor descriptor = FlightDescriptor::Path(paths); auto exchange_result = Client_->DoExchange(descriptor); if (!exchange_result.ok()) { throw std::runtime_error("Do exchange descriptor: " + exchange_result.status().ToString()); } auto exchange = std::move(exchange_result.ValueUnsafe()); ... ``` I understand ```reader.getDescriptor(); ``` is a blocking call that will use future to wait the descriptor sent. Since doExchange in the server has been called, I assume the client ```auto exchange_result = Client_->DoExchange(descriptor);``` has been received. I can't figure what could make ```reader.getDescriptor();``` stuck, I am reporting this to the community that want to know is this a bug or there is something I did wrong. Thank you ### Component(s) C++, FlightRPC -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: issues-unsubscr...@arrow.apache.org.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org