[ https://issues.apache.org/jira/browse/HDDS-13461?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Priyesh K updated HDDS-13461: ----------------------------- Labels: pull-request-available (was: ) > Refactor BlockGroup for Upgrade Compatibility > --------------------------------------------- > > Key: HDDS-13461 > URL: https://issues.apache.org/jira/browse/HDDS-13461 > Project: Apache Ozone > Issue Type: Sub-task > Reporter: Priyesh K > Assignee: Priyesh K > Priority: Major > Labels: pull-request-available > > This JIRA addresses a compatibility issue between OM and SCM during upgrade > scenarios by refactoring how proto messages are created and handled. > Previously, the {{BlockGroup}} class contained a list of {{{}BlockID{}}}s > directly, which made it difficult to support new proto structures—such as > including block size and replicated size—without breaking compatibility > between different versions of OM and SCM. To solve this, the proto conversion > logic has been moved out of {{BlockGroup}} and into the translator classes: > {{ScmBlockLocationProtocolClientSideTranslatorPB}} and > {{{}ScmBlockLocationProtocolServerSideTranslatorPB{}}}. These classes now > handle creating and interpreting proto messages based on the SCM layout > version. This ensures that when OM or SCM is upgraded independently, they can > still communicate using the appropriate proto format. For example, if an old > OM talks to a new SCM, the SCM detects the old proto format and decodes it > using fallback logic. If a new OM talks to an old SCM, it checks the layout > version using {{getScmInfo()}} and falls back to the old format if needed. > When both components are upgraded, the system uses the new proto format with > size-aware metadata. -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@ozone.apache.org For additional commands, e-mail: issues-h...@ozone.apache.org