zmuxuny opened a new pull request, #5058:
URL: https://github.com/apache/rocketmq-dashboard/pull/5058

   ### Which Issue(s) This PR Fixes
   
   - Fixes #5057
   
   ### Brief Description
   
   `ProxyConsumerResolver` marked its Netty remoting client started before 
`start()` completed. A failed first start left the flag true, so later proxy 
diagnostics reused an unstarted client without retrying; a concurrent caller 
could also use the client while startup was still in progress.
   
   Initialize under the resolver monitor and publish the client and started 
flag only after `start()` succeeds. Dispose of a failed candidate so the next 
request creates a fresh client. Successful lookups still use the existing fast 
path.
   
   ### How Did You Test This Change?
   
   - Added a controlled first-start failure and recovery regression. Before 
this fix, its replacement client was never started; after the fix, the failed 
candidate is shut down and the next lookup initializes the replacement.
   - Added a concurrent first-use regression that holds startup pending while a 
second proxy query arrives, then verifies both queries use the client only 
after startup completes.
   - `cd server && mvn -B -ntp 
-Dtest=ProxyConsumerResolverTest,RocketMQAdminClientImplTest,RocketMQConsumerDiagnosticsProviderTest
 test` — 89 tests passed; Checkstyle passed.
   - Reran `ProxyConsumerResolverTest` after the final assertion change — 8 
tests passed.
   - `git diff --check` — passed.
   
   ### Checklist
   
   - [x] One coherent bug fix; no unrelated changes
   - [x] Conventional commit subject
   - [x] Regression tests added with `...Test` method names
   - [x] No new UI text, external API contract, or source files
   


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

Reply via email to