[
https://issues.apache.org/jira/browse/IGNITE-2422?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15904894#comment-15904894
]
Maksim Kozlov commented on IGNITE-2422:
---------------------------------------
[~vozerov] I also think that this is wrong. But I did not find a more suitable
method without intermediate conversion. Or do you want to do it at a lower
level?
This test shows proper deserialization.
{code:java}
BinaryObjectBuilder root = ignite(0).binary().builder("test");
BinaryObjectBuilder[] builders = new BinaryObjectBuilder[] {
ignite(0).binary().builder("test" + "_d").setField("x", 10),
ignite(0).binary().builder("test" + "_d").setField("x", 20)
};
root.setField("e", builders);
BinaryObject binaryObject = root.build();
Object[] buildersRev = binaryObject.field("e");
// check deserialize
for (Object e : buildersRev) {
assertTrue(e instanceof BinaryObject);
assertTrue(((BinaryObject)e).toBuilder() instanceof
BinaryObjectBuilder);
}
{code}
> Unable to deserialize BinaryObjectBuilder
> -----------------------------------------
>
> Key: IGNITE-2422
> URL: https://issues.apache.org/jira/browse/IGNITE-2422
> Project: Ignite
> Issue Type: Bug
> Components: binary
> Affects Versions: 1.5.0.final
> Reporter: Denis Magda
> Assignee: Maksim Kozlov
> Labels: important
> Fix For: 2.0
>
> Attachments: ExampleNodeStartup.java
>
>
> Presently it's possible to serialize {{BinaryObjectBuilder}} but it will lead
> to the errors at deserialization stage.
> After a brief investigation I see that this happens because neither
> {{org.apache.ignite.binary.BinaryObjectBuilder}} nor
> {{org.apache.ignite.internal.binary.builder.BinaryObjectBuilderImpl}}
> presents in {{META-INF/classnames.properties}} file.
> If you try to update
> {{ignite/modules/core/src/main/resources/META-INF/classnames.properties}} by
> building the project from scratch and copying-pasting generated content from
> built {{classnames.properties}}, then you will still see that there are still
> no entries for {{org.apache.ignite.binary.BinaryObjectBuilder}} nor
> {org.apache.ignite.internal.binary.builder.BinaryObjectBuilderImpl}}.
> Looks like that {{ClassesGenerator}} misses these and other possible classes
> by some reason.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)