Skip to content

HDDS-15641. SCM should send write pipeline version with DatanodeDetails on block allocation - #10878

Open
dombizita wants to merge 15 commits into
apache:HDDS-14496-zdufrom
dombizita:HDDS-15641
Open

HDDS-15641. SCM should send write pipeline version with DatanodeDetails on block allocation#10878
dombizita wants to merge 15 commits into
apache:HDDS-14496-zdufrom
dombizita:HDDS-15641

Conversation

@dombizita

Copy link
Copy Markdown
Contributor

What changes were proposed in this pull request?

During a zero-downtime upgrade (ZDU), a write pipeline can contain a mix of finalized and unfinalized datanodes. An unfinalized datanode already runs the newer software but continues to report the older apparent version until it finalizes. If a client enables a newer write-path feature against such a pipeline, the unfinalized datanode cannot handle it.

This change makes SCM send, on block allocation, a write pipeline version that reflects what every datanode in the pipeline can actually handle, so clients only enable features supported by all of them.

I needed to adjust TestBlockDataStreamOutput, so both the DN (so it matches the expected currentVersion) and SCM (just the test was passing without this, but running the whole test class was failing, because during the datanodes over the lifetime of the test class got finalized via SCM) apparent versions are set to the same version.

These changes are based on #10570, please check the last 4 commits for this change set.

Used Claude Opus 4.8 for planning and coding, reviewed by me.

What is the link to the Apache JIRA

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

How was this patch tested?

CI on my fork: https://github.com/dombizita/ozone/actions/runs/30096185706 (with newly added unit tests)

@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 27, 2026
@errose28
errose28 self-requested a review July 27, 2026 15:22
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.

1 participant