Skip to content

Hdds 14732 version manager#9897

Draft
errose28 wants to merge 3 commits intoapache:HDDS-14496-zdufrom
errose28:HDDS-14732-version-manager
Draft

Hdds 14732 version manager#9897
errose28 wants to merge 3 commits intoapache:HDDS-14496-zdufrom
errose28:HDDS-14732-version-manager

Conversation

@errose28
Copy link
Contributor

What changes were proposed in this pull request?

  • Create the ComponentVersionManager class which tracks apparent version, software version, and finalization status using the new unified version framework based around component version.
    • Subclasses for OM and HDDS handle specific initialization requirements based on the serialized version read from disk.
  • Add a nextVersion method to all ComponentVersions which points from the current version to the one immediately following it for use when finalizing.
  • Make HDDSLayoutFeature and OMLayoutFeature's last version's nextVersion implementations point to HDDSVersion#ZDU and OzoneManagerVersion#ZDU respectively to handle the transition from layout feature to component version during finalization.
    • This method means that the same ComponentVersionManager implementation will work whether or not we are finalized for ZDU, because it can depend on the nextVersion call to transparently make the switch when finalizing.

A follow-up change will switch the current upgrade path from using AbstractLayoutVersionManager and its subclasses to the new ComponentVersionManager.

What is the link to the Apache JIRA

HDDS-14732

How was this patch tested?

Leaving as draft until unit tests for the changes are added.
Existing tests should be unaffected since the existing layout version managers are still connected to the main upgrade path.

@github-actions github-actions bot added the zdu Pull requests for Zero Downtime Upgrade (ZDU) https://issues.apache.org/jira/browse/HDDS-14496 label Mar 10, 2026
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