dombizita opened a new pull request, #10878:
URL: https://github.com/apache/ozone/pull/10878

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


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to