You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Iurii Gerzhedovich (Jira)" <ji...@apache.org> on 2025/03/19 13:49:00 UTC

[jira] [Resolved] (IGNITE-24170) Rework the serialization protocol for catalog descriptors, formalize versioning rules.

     [ https://issues.apache.org/jira/browse/IGNITE-24170?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Iurii Gerzhedovich resolved IGNITE-24170.
-----------------------------------------
    Resolution: Won't Fix

> Rework the serialization protocol for catalog descriptors, formalize versioning rules.
> --------------------------------------------------------------------------------------
>
>                 Key: IGNITE-24170
>                 URL: https://issues.apache.org/jira/browse/IGNITE-24170
>             Project: Ignite
>          Issue Type: Improvement
>          Components: sql
>    Affects Versions: 3.0
>            Reporter: Pavel Pereslegin
>            Priority: Blocker
>              Labels: ignite-3
>             Fix For: 3.1
>
>
> At the moment, changing the serialization format of catalog descriptors lead to the loss of backward compatibility.
> Currently, all objects are written under version 1 (see {{UpdateLogMarshallerImpl#PROTOCOL_VERSION}}).
> It is necessary to develop a new version of the serialization protocol to support backward compatibility and formalize the rules for versioning catalog descriptors.
> Some thoughts on future implementation
> {panel}
> It is necessary to maintain a registry of all types of serializable objects (nested and external) and their serializers with a specific version.
> When serializing, we must write current version of the object format (serializer version).
> When deserializing, we need to get the required serializer (object type + version) from the registry.
> From the implementation side, it is supposed to add some "mix" of IgniteDataInput/IgniteDataOutput and ObjectInput/ObjectOutput which should be able to serialize/deserialize object types that are registered in the serializer registry.
> {panel}
> (copied from here https://issues.apache.org/jira/browse/IGNITE-21230?focusedCommentId=17815191&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-17815191 )



--
This message was sent by Atlassian Jira
(v8.20.10#820010)