SEPURI-SAI-KRISHNA commented on issue #12332:
URL: https://github.com/apache/seatunnel/issues/12332#issuecomment-5725244369

   Answering both directly.
   
   **1. The axis, and what the branch does.** Not "is the topic missing", since 
code 17 out of this call is never about the requested topic. The axis is "this 
group has never registered, so `%RETRY%<group>` does not exist yet" against "a 
route was lost". #12349 separates them by re-resolving the *requested* topic on 
the admin client that is already open, at the moment of the failure:
   
   * the requested topic still resolves, so the name server is healthy and the 
retry topic is genuinely absent: return the empty map, which preserves today's 
cold start, and log a `WARN` naming the group and topic
   * the requested topic does not resolve either, so the outage is broker wide: 
throw `RocketMqConnectorException` with `GET_CONSUMER_GROUP_OFFSETS_ERROR`
   
   It does not retry, and it adds no delay. The extra call happens only in the 
failure branch. What makes the first case safe is that a group cannot commit an 
offset without having registered first, and registration is what creates the 
retry topic: `ClientManageProcessor.heartBeat` creates `%RETRY%` plus the group 
name before reaching `ConsumerManager.registerConsumer`, and 
`PullMessageProcessor` refuses a group with no subscription config outright.
   
   Both directions are pinned by tests, which is the regression cover you asked 
for: `testCurrentOffsets_retryTopicMissingWhileRouteHealthyReturnsEmpty` and 
`testCurrentOffsets_routeOutageSurfacesAsFailure`. I also checked they fail for 
the right reasons: removing the route probe fails only the second, and removing 
the code 17 branch entirely fails only the first.
   
   **2. Yes.** The #12349 description was rewritten before the reworked commit 
landed and describes the corrected mechanism throughout, including that 
`examineConsumeStats` resolves its route from the retry topic and never from 
the requested topic. Reviewers there are not working from the old model. 
@DanielLeens approved that head this morning after re-reviewing it from scratch.
   
   On the evidence bar: that is already in the body above, under **What I have 
and have not verified**, which says the defect "is established by construction 
rather than by a captured trace, and the #9940 symptom is consistent with it 
but is not proof of it". Happy to move it higher if you would rather it were 
the first thing a triager reads.
   


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