Skip to content

Switch custom component serialization in ClusterState from PROTO to NamedWriteable #21868

@imotov

Description

@imotov

We currently have two different ways to serialize/deserialize objects with variable types. The older method, which is used in cluster state serialization is using registered PROTO objects to select the proper de-serialization reader. In all other places we switched to using NamedWriteables for the same purpose.

I would like to convert custom objects in ClusterState, MetaData and IndexMetaData to NamedWritables and see if I can completely remove PROTO-based serialization to make cluster state serialization/deserialization more in line with the rest of the system. It's a significant change internally and will affect plugins that are registering custom metadata objects, but it looks like wire-protocol would remain the same and therefore it should be possible to make this change compatible with rolling restart.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions