[ 
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

Reply via email to