fornwall opened a new pull request, #920: URL: https://github.com/apache/arrow-go/pull/920
**DISCLAIMERS**: - I'm not a user of this repository directly - the only reason this was encountered was due to flakyness in `arrow-adbc`, see https://github.com/apache/arrow-adbc/pull/4497 - This PR was generated by AI. I have reviewed the code and is ready to make adjustments or to look into questions. Perhaps make comments less verbose, or adopt code to project conventions? Let me know! When a prepared statement's bound-parameter `DoPut` stream is torn down by the server before the client finishes sending (e.g. the server handler returns without draining the request stream), gRPC surfaces the parameter send as a bare `io.EOF`. Per gRPC's contract an `io.EOF` from a send only means "the stream ended -- receive to learn why", but `bindParameters` and `ExecuteUpdate` forwarded that EOF directly, so the caller saw an uninformative "EOF (Unknown)" instead of the server's actual status. Treat a send-side `io.EOF` as a signal to fall through to the receive, which recovers the real error (or the response the server produced before closing). Adds a regression test whose server returns `InvalidArgument` without reading the stream; a large binding forces the send to block on flow control and observe the teardown, so the test fails deterministically without the fix. -- 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]
