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]

Reply via email to