You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ozone.apache.org by "Ethan Rose (Jira)" <ji...@apache.org> on 2026/06/12 20:04:00 UTC
[jira] [Updated] (HDDS-15482) Add fencing based on datanode versions to SCM and Recon
[ 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: issues-unsubscribe@ozone.apache.org
For additional commands, e-mail: issues-help@ozone.apache.org