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