fishy commented on pull request #2181:
URL: https://github.com/apache/thrift/pull/2181#issuecomment-722913849


   Resolving a real issue sounds like a fitting case of "necessary", won't you 
think?
   
   In the JIRA ticket me and Can discussed how to implement it, including the 
alternative of doing it on transport level (`TTransport`). Doing it on 
transport level would also be a breaking change, and we made a choice to do a 
breaking change on `TProtocol` over `TTransport`.
   
   On hindsight yes the loop retry fits more naturally in TTransport, but some 
problems of that are:
   
   1. As Can described in the JIRA ticket discussion, `TProtocol` 
implementations in the wild are much rarer than `TTranposrt` implementations.
   2. Adding context into `TTransport.Read` will make it no longer an 
implementation of `io.Reader`, which breaks a lot of other things.
   3. In the vast majority of cases this is really only needed for the first 
read (vs. every read).


----------------------------------------------------------------
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.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to