[
https://issues.apache.org/jira/browse/IGNITE-24170?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Iurii Gerzhedovich updated IGNITE-24170:
----------------------------------------
Priority: Major (was: Blocker)
> 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: Major
> 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)