HDDS-16190. Do not use unified version framework in OM until ZDU is finalized. - #11025
HDDS-16190. Do not use unified version framework in OM until ZDU is finalized. #11025errose28 wants to merge 5 commits into
Conversation
…or all components (cherry picked from commit 1718018c67f8535f701f4493fd7e8d73478e5d61)
|
A couple comments from my second brain: |
|
Thanks for the review. These look valid for #11006 so I'll fix them there. There's a large chain of stacked PRs targeting the ZDU branch right now. Following the draft links backwards gives this layout: |
DRAFT Builds on #11006
What changes were proposed in this pull request?
Background
ZDU is the first version that supports the unified versioning framework, where network and disk compatibility are tracked with the same version. Therefore, we cannot use this framework before ZDU is finalized. The existing VersionManager already handles this for disk compatibility. It will read from the old layout feature enums until ZDU is finalized. We need similar handling for the component version sent over the network to clients. We cannot send the unified version framework's apparent version to clients until ZDU is finalized, otherwise we may be sending them a layout feature when they are expecting a component version. When ZDU is pre-finalized, we must send the last component version before ZDU to clients. Finalizing ZDU moves both version systems ahead to the unified one that starts with ZDU, where one apparent version can be shared over both disk and network.
This has been handled for Datanodes in #11006, which also added the common
getVersionForClientmethod and unit test we will use for OM as well.What is the link to the Apache JIRA
HDDS-16190
How was this patch tested?
OmVersionManager