[
https://issues.apache.org/jira/browse/IGNITE-29079?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Mikhail Petrov updated IGNITE-29079:
------------------------------------
Description:
The direct message format is positional. The serializer writes fields in @Order
sequence without storing per-field names or lengths. IGNITE-28851 made a pair
of mixed-version nodes agree on the same list of fields to be transmitted. All
fields must be known to the receiver, which must also be able to deserialize
them.
This rule has a consequence for the Discovery ring: a field introduced in
version V is lost when a message travels through a V → V-1 → V path. In a ring,
this can occur on a path such as new → old → ... → old → new.
We need to support relaying a field introduced under feature F across the
entire new → old → ... → old → new path, even when the intermediate old nodes
do not have feature F and cannot deserialize the field value.
was:
The direct message format is positional. The serializer writes fields in @Order
sequence without storing per-field names or lengths. IGNITE-28851 made a pair
of mixed-version nodes agree on the same list of fields. All fields must be
known to the receiver, which must also be able to deserialize them.
This rule has a consequence for the Discovery ring: a field introduced in
version V is lost when a message travels through a V → V-1 → V path. In a ring,
this can occur on a path such as new → old → ... → old → new.
We need to support relaying a field introduced under feature F across the
entire new → old → ... → old → new path, even when the intermediate old nodes
do not have feature F and cannot deserialize the field value.
> Support relaying unknown message fields when resending messages
> ---------------------------------------------------------------
>
> Key: IGNITE-29079
> URL: https://issues.apache.org/jira/browse/IGNITE-29079
> Project: Ignite
> Issue Type: Task
> Reporter: Mikhail Petrov
> Assignee: Mikhail Petrov
> Priority: Major
>
> The direct message format is positional. The serializer writes fields in
> @Order sequence without storing per-field names or lengths. IGNITE-28851 made
> a pair of mixed-version nodes agree on the same list of fields to be
> transmitted. All fields must be known to the receiver, which must also be
> able to deserialize them.
> This rule has a consequence for the Discovery ring: a field introduced in
> version V is lost when a message travels through a V → V-1 → V path. In a
> ring, this can occur on a path such as new → old → ... → old → new.
> We need to support relaying a field introduced under feature F across the
> entire new → old → ... → old → new path, even when the intermediate old nodes
> do not have feature F and cannot deserialize the field value.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)