Ethan Rose created HDDS-15482:
---------------------------------

             Summary: Add fencing based on datanode versions to SCM and Recon
                 Key: HDDS-15482
                 URL: https://issues.apache.org/jira/browse/HDDS-15482
             Project: Apache Ozone
          Issue Type: Improvement
            Reporter: Ethan Rose
            Assignee: Ethan Rose


The ZDU design doc outlines rules for which datanodes SCM should allow to 
register based on their reported software and apparent versions. In particular 
DNs with software or apparent versions larger than SCM should not be allowed to 
register, and DNs with lower software versions than SCM should only be allowed 
to register when SCM is pre-finalized.

When Datanode registration is rejected due to an incorrect version, it should 
shut down since the error is not recoverable.

Recon also has an SCM version manager instance tracking HDDS versions in its 
NodeManager implementation, whose version needs to follow that of SCM + DNs to 
keep up with compatibility. Since Recon doesn't have official downgrade 
support, it finalizes its own Recon versions on startup, but doing the same 
with the HDDS version in the node manager may cause issues communicating with 
Datanodes. Instead, Recon should finalize its HDDS version when it gets a 
heartbeat from a finalized datanode (higher apparent version), instead of 
rejecting it like SCM. Note that Recon cannot use this as the signal to 
finalize its Recon version, since there may be releases that increase Recon 
version without increasing HDDS version.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to