You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Semyon Danilov (Jira)" <ji...@apache.org> on 2021/12/15 14:09:00 UTC

[jira] [Assigned] (IGNITE-15947) Cross-node descriptors exchange

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

Semyon Danilov reassigned IGNITE-15947:
---------------------------------------

    Assignee: Semyon Danilov

> Cross-node descriptors exchange
> -------------------------------
>
>                 Key: IGNITE-15947
>                 URL: https://issues.apache.org/jira/browse/IGNITE-15947
>             Project: Ignite
>          Issue Type: Task
>            Reporter: Semyon Danilov
>            Assignee: Semyon Danilov
>            Priority: Major
>              Labels: ignite-3
>             Fix For: 3.0.0-alpha4
>
>
> In order to support arbitrary class structure changes, the object serialization must be performed according to the local class descriptor, but the object deserialization must be performed according to the remote class descriptor from the node that actually serialized the object. Therefore, the descriptors must be shared between Ignite nodes to support the protocol:
>  * Trivially, the descriptors can be sent along with the object itself. This approach can be used for debugging, but induces a significant serialization overhead as the same descriptors will be sent with different object instances.
>  * Descriptor availability can be tracked on a per-session p2p level. If there is a notion of a session between nodes, the sending side can track which descriptors were already sent to the remote side before actually sending the serialized object. If there are unsent descriptor, they are sent to the remote side prior to sending the serialized object. The receiving side must use the descriptor from the particular session to deserialize the object. In this case, even if two different nodes send the class with the same name and different structure, the receiving side will be able to properly deserialize the object.
> See https://github.com/gridgain/gridgain-9-ce/blob/iep-67/modules/network/README.md



--
This message was sent by Atlassian Jira
(v8.20.1#820001)