sun-9545sunoj commented on PR #12340:
URL: https://github.com/apache/seatunnel/pull/12340#issuecomment-5757361198
Thanks for the detailed review and for pointing out PR #12349!
I've taken a close look at how PR #12349 solves the issue. Their approach
of using topicRouteAvailable to distinguish between a genuinely unprovisioned
consumer group and a missing route is a great, precise solution. However, if
used alone, it will still instantly throw an exception and fail the job if the
name server is experiencing a transient route propagation delay (i.e., if both
routes are temporarily missing).
To get the best of both worlds, I've rebased on the latest dev branch
(which now includes PR #12349) and updated this PR to use a hybrid approach:
1. When examineConsumeStats throws TOPIC_NOT_EXIST, we now check
topicRouteAvailable(adminClient, topic) just as PR #12349 does.
2. If the business topic route is healthy, we know the group is genuinely
new/unprovisioned. We immediately fall back to the start offset (returning an
empty map) without retrying.
3. If both routes are missing, indicating a true transient name server
blip, we invoke the RetryUtils bounded backoff loop. This gracefully smooths
over the transient delay instead of immediately failing the job.
I've also resolved all the merge conflicts, updated the tests to cover the
hybrid logic, and applied spotless formatting.
Let me know if this hybrid approach looks good for merging!
--
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]