lidavidm opened a new pull request, #15034: URL: https://github.com/apache/arrow/pull/15034
The reader and writer can be used concurrently with each other, and both may try to close the underlying stream when an error happens. This can cause one side to stomp on the other's state inadvertently. When that happens, we may or may not get a crash or trigger an assertion - but sometimes things just happen to work out, and the client exits without proper cleanup. The server, however, doesn't realize this, and so it gets stuck waiting for the client, preventing the test from finishing. The longer-term fix would ideally be to let the server forcefully terminate instead of waiting for clients. (Incidentally, this problem also affects the gRPC transport, though gRPC is better at detecting when the client has disappeared.) Here, we add more assertions and also properly use a lock while doing cleanup. Requires #15031. -- 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: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
