Yukang-Lian opened a new pull request, #68139:
URL: https://github.com/apache/doris/pull/68139

   ### What problem does this PR solve?
   
   Related PR: #64016
   
   Problem Summary:
   
   `BackendServiceClientChannelProvider` and `MetaServiceClientChannelProvider` 
expose `currentConfigVersion()`. `BackendServiceClient` / `MetaServiceClient` 
remember the value they were created with, and `BackendServiceProxy` / 
`MetaServiceProxy` recreate the client (shutting the previous channel down) 
whenever the current value differs.
   
   The hook was meant to let a provider signal a TLS configuration change so 
that long-lived gRPC channels get rebuilt. Nothing needs it: the built-in 
providers return a constant, TLS settings cannot change at runtime, and 
certificate rotation is handled inside reloadable key/trust managers per 
handshake, without touching the channel. It is also easy to misuse. An 
implementation that bumped the version on every channel creation made each 
client stale the moment it was built, so the proxy recreated the channel and 
shut the previous one down on every RPC, which under concurrency surfaced as 
`UNAVAILABLE: Channel shutdown invoked` for RPCs issued on a channel another 
thread had just discarded.
   
   This PR removes the method from both provider interfaces, the remembered 
version in both clients, and the comparisons in both proxies. Channels are 
still rebuilt when the resolved IP changes or when the channel leaves a healthy 
state, exactly as before.
   
   ### Release note
   
   None
   
   ### Check List (For Author)
   
   - Test
       - [x] Unit Test: `BackendServiceProxyTest` and `MetaServiceProxyTest` no 
longer mock the removed method and still pass.
       - [x] No need to test or manual test. Explain why:
           - [x] This is a refactor/code format and no logic has been changed: 
every implementation returned a constant, so the removed comparison was always 
true.
   
   - Behavior changed:
       - [x] No.
   
   - Does this need documentation?
       - [x] No.
   
   ### Check List (For Reviewer who merge this PR)
   
   - [ ] Confirm the release note
   - [ ] Confirm test cases
   - [ ] Confirm document
   - [ ] Add branch pick label <!-- Add branch pick label that this PR should 
merge into -->
   


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