LemonCL commented on issue #68120:
URL: https://github.com/apache/doris/issues/68120#issuecomment-5711034739

   Thanks for the thorough review! All four points are addressed in the updated 
commit:
   
   1. **Node identity checks**: matching now requires `cloud_unique_id` 
equality (when the request carries one) in addition to the endpoint (ip/host + 
heartbeat_port), so a stale or incorrect unique id can no longer flip a 
different node at the same endpoint.
   
   2. **One-to-one matching**: `flip_nodes_status_in_place` now validates the 
full request first — every request node must match exactly one cluster node, 
and no two request nodes may claim the same node. Any violation returns a 
non-empty error before commit, with zero mutation. Negative tests added: 
unknown/stale unique id at an existing endpoint, endpoint mismatch, duplicated 
request entries, and a partially matched multi-node request (asserted to fail 
as a whole with nothing changed).
   
   3. **Regression coverage**: kept the node count/order/status assertions (the 
order check deterministically fails the old delete + re-add implementation), 
and added the host-based endpoint matching path plus all the identity/error 
cases above. A sync-point based concurrency test is a nice follow-up; the 
in-place flip within a single FDB transaction makes the invariant structural 
rather than timing-dependent.
   
   4. **Backport**: agreed — once this is validated on master, I'll prepare a 
separate, branch-specific PR for branch-3.1 (the handlers there are still 
inlined in the `alter_cluster` switch, so the change needs reshaping, plus its 
own testing).
   
   For incident evidence, I'll attach the correlated FE/MS log excerpts to the 
issue shortly.
   


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