Skip to content

HDDS-15716. Replace layout version protos with new version-named protos in the DN–SCM protocol#10817

Open
dombizita wants to merge 3 commits into
apache:HDDS-14496-zdufrom
dombizita:HDDS-15716
Open

HDDS-15716. Replace layout version protos with new version-named protos in the DN–SCM protocol#10817
dombizita wants to merge 3 commits into
apache:HDDS-14496-zdufrom
dombizita:HDDS-15716

Conversation

@dombizita

Copy link
Copy Markdown
Contributor

What changes were proposed in this pull request?

The current proto uses the old terminology in the names. We will have one non-rolling upgrade before ZDU is released where we can deprecate this proto and switch to a new one without any extra compatibility handling.

In this patch I switched LayoutVersionProto to DatanodeVersionProto and FinalizeNewLayoutVersionCommandProto to FinalizeNewDatanodeVersionCommandProto.

What is the link to the Apache JIRA

https://issues.apache.org/jira/browse/HDDS-15716

How was this patch tested?

Green CI on my fork: https://github.com/dombizita/ozone/actions/runs/29577100863

Used Claude Opus 4.8 for the refactoring, review and adjustments by me.

@dombizita
dombizita requested a review from errose28 July 20, 2026 08:12
@github-actions github-actions Bot added the zdu Pull requests for Zero Downtime Upgrade (ZDU) https://issues.apache.org/jira/browse/HDDS-14496 label Jul 20, 2026

@errose28 errose28 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for adding this @dombizita. Most comments are minor, but there's some improvements we can do to existing behavior as well.

@errose28 errose28 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Only nonfunctional comments on some stale commets/javadoc I found. Otherwise good to merge.

@@ -375,10 +375,10 @@ void processNodeReport(DatanodeDetails datanodeDetails,
* Process Node LayoutVersion report.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This javadoc needs to be updated.

@@ -653,11 +653,11 @@ public void processNodeReport(DatanodeDetails dnUuid,
* Empty implementation for processLayoutVersionReport.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This javadoc is also stale.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The javadoc on processVersionReport is stale. We can update it in this PR.

// SCM.
versionInfo = toVersionProto(INITIAL_VERSION, INITIAL_VERSION);
}
// Datanode version will be fenced during registration.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
// Datanode version will be fenced during registration.
// Datanodes which do not report a version will not be allowed to register.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

zdu Pull requests for Zero Downtime Upgrade (ZDU) https://issues.apache.org/jira/browse/HDDS-14496

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants