Alanxtl opened a new issue, #3457: URL: https://github.com/apache/dubbo-go/issues/3457
### Background Upstream connect-go v1.18.0 changed stream client closures to be non-blocking (connectrpc/connect-go#791). Dubbo-go Triple has its own forked/modified stream runtime under `protocol/triple/triple_protocol`, including `ClientStreamForClient.CloseAndReceive`, `BidiStreamForClient.CloseRequest`, `BidiStreamForClient.CloseResponse`, and the underlying `duplexHTTPCall` lifecycle. Blocking close behavior can be painful in Dubbo-go because a stream sample or integration test may hang when one side stops reading/writing, a transport error happens, or the server returns an error before the client finishes sending. ### Scope - Compare Dubbo-go Triple stream close behavior with the upstream non-blocking close change. - Add focused tests for close paths when the peer has already errored, stopped reading, or returned early. - Port only the relevant lifecycle behavior if our current close path can block unnecessarily. ### Notes This should stay narrowly scoped to stream close lifecycle behavior. It should not pull in unrelated connect-go additions such as `package_suffix`, HTTP GET support, or transport-level retry. Reference: https://github.com/connectrpc/connect-go/releases/tag/v1.18.0 -- 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] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
