HDDS-14723. Create one common interface for LayoutFeature and ComponentVersion#9832
Open
errose28 wants to merge 9 commits intoapache:HDDS-14496-zdufrom
Open
HDDS-14723. Create one common interface for LayoutFeature and ComponentVersion#9832errose28 wants to merge 9 commits intoapache:HDDS-14496-zdufrom
errose28 wants to merge 9 commits intoapache:HDDS-14496-zdufrom
Conversation
All serialization and functionality remains identical
Use one method called serialize to get the int version.
* HDDS-14496-zdu: HDDS-14712. Rename DatanodeVersion to HDDSVersion (apache#9822) HDDS-14646. SCM should not close Ratis pipelines on Finalize (apache#9779)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changes were proposed in this pull request?
During the migration away from
LayoutFeatures to a unifiedComponentVersion, there will be a time when we need to initially start Ozone components usingLayoutFeature, and when version 100 is finalized, switch to the unifiedComponentVersionframework for all versioning. In order to do this, both versioning systems must implement the same interface.ComponentVersionwas chosen for this purpose. As part of this change:Versionedinterface was removed.LayoutFeaturenow extendsComponentVersiondirectly since all work will be withComponentVersions going forward.UpgradeActioninterface is moved to its own file outside ofLayoutFeaturesince we will still need it when working withComponentVersionin ZDU.LayoutFeatures by their name string is no longer supported. There was never a case where indexing could not be done by version number.toStringfor logging that contains both the enum name and version number, which will help with debugging as we switch to the new system.ComponentVersion,Versioned, andLayoutFeatureinterfaces have been consolidated to a single method calledserialize.Note that the large number of file modifications is mostly due to renames. The number of lines changed is not too large.
Most changes were generated by Cursor under my guidance and review.
What is the link to the Apache JIRA
HDDS-14567
How was this patch tested?
TestOMUpgradeFinalizationand checked the logs to verify thetoStringchanges were printing correctly.