[
https://issues.apache.org/jira/browse/IGNITE-18589?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Aleksandr Polovtcev updated IGNITE-18589:
-----------------------------------------
Description:
Consider the following class hierarchy:
{code:java}
@Transferable
interface A extends NetworkMessage {}
@Transferable
interface B extends NetworkMessage {
A[] arrayField();
}
{code}
When sending a message of type {{B}} from one node to another, the following
exception occurs:
{{java.lang.IllegalStateException: Cannot merge descriptors in the correct
order; a cycle?}}
This happens, because a descriptor of type {{A}} can't be found on the
receiving node.
This problem also appears if we change {{B}}'s field type to {{Collection<A>}},
but provide {{Arrays.asList(new AImpl())}}, because the wrapper contains an
array inside.
was:
Consider the following class hierarchy:
{code:java}
@Transferable
interface A extends NetworkMessage {}
@Transferable
interface B extends NetworkMessage {
A[] arrayField();
}
{code}
When sending a message of type {{B}} from one node to another, the following
exception occurs:
{{java.lang.IllegalStateException: Cannot merge descriptors in the correct
order; a cycle?}}
This happens, because a descriptor of type {{A}} can't be found on the
receiving node.
This problem also appears if we change {{B}}'s field to {{Collection<A>}}, but
provide {{Arrays.asList(new AImpl())}}, because the wrapper contains an array
inside.
> Network serialization of arrays of NetworkMessage objects doesn't work
> ----------------------------------------------------------------------
>
> Key: IGNITE-18589
> URL: https://issues.apache.org/jira/browse/IGNITE-18589
> Project: Ignite
> Issue Type: Bug
> Reporter: Aleksandr Polovtcev
> Assignee: Roman Puchkovskiy
> Priority: Major
> Labels: ignite-3
>
> Consider the following class hierarchy:
> {code:java}
> @Transferable
> interface A extends NetworkMessage {}
> @Transferable
> interface B extends NetworkMessage {
> A[] arrayField();
> }
> {code}
> When sending a message of type {{B}} from one node to another, the following
> exception occurs:
> {{java.lang.IllegalStateException: Cannot merge descriptors in the correct
> order; a cycle?}}
> This happens, because a descriptor of type {{A}} can't be found on the
> receiving node.
> This problem also appears if we change {{B}}'s field type to
> {{Collection<A>}}, but provide {{Arrays.asList(new AImpl())}}, because the
> wrapper contains an array inside.
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)