DanielLeens commented on PR #10808:
URL: https://github.com/apache/seatunnel/pull/10808#issuecomment-4933939678

   +1 to @nzw921rx's analysis on the fallback behavior in 
`getActiveMasterAddress`. The current `.orElse(hazelcastMasterAddress)` in the 
non-lite-member search is indeed problematic — when all coordinator-capable 
nodes are temporarily unavailable and only lite workers remain, it falls back 
to the lite worker address instead of returning `null`. This routes 
control-plane operations to a node that cannot coordinate them, turning a 
retryable availability gap into an operation-level failure.
   
   The suggested fix is correct: `.orElse(null)` instead of 
`.orElse(hazelcastMasterAddress)`, which would let 
`getActiveMasterAddressOrThrow` raise `RetryableHazelcastException` and allow 
callers to retry until a coordinator becomes available.
   
   I'll push a fix for this and add the test cases @nzw921rx suggested (lite 
master with no non-lite members, non-null master with missing member metadata, 
coordinator replacement). Thanks for the thorough review!


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