[ 
https://issues.apache.org/jira/browse/HDDS-15482?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ethan Rose updated HDDS-15482:
------------------------------
    Description: 
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. This means that unlike 
SCM, Recon should allow old software DNs to register after it has finalized.

  was:
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.


> 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
>            Priority: Major
>
> 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. This means that 
> unlike SCM, Recon should allow old software DNs to register after it has 
> finalized.



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