[
https://issues.apache.org/jira/browse/IGNITE-3191?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15493094#comment-15493094
]
Vladimir Ozerov commented on IGNITE-3191:
-----------------------------------------
In general changes looks fine in terms that they should not break logic and
performance. But this appears to be a partial fix to me. We have the same issue
with {{Binarilyzable}}. Pseudo code:
{code}
class MyClass {
writeBinary(Writer w) {
w.write("B", b);
w.write("A", a);
}
}
{code}
And then:
{code}
BinaryObject obj1 = toBinary(new MyClass(a, b)); // Not sorted
BinaryObject obj2 = builder("MyClass").setField("B", b).setField("A",
a).build(); // Sorted
assertEquals(obj1, obj2); // Returns "false".
{code}
> BinaryObjectBuilder: binary schema id depends on the order of fields addition
> -----------------------------------------------------------------------------
>
> Key: IGNITE-3191
> URL: https://issues.apache.org/jira/browse/IGNITE-3191
> Project: Ignite
> Issue Type: Bug
> Reporter: Denis Magda
> Assignee: Valentin Kulichenko
> Priority: Critical
> Fix For: 1.8
>
>
> Presently if an object is created using BinaryObjectBuilder then several
> BinarySchemes can be generated for the same set of fields in case when fields
> are added in a different order.
> This happens because {{LinkedHashMap}} is used underneath. However we should
> rely on order-free structure like {{TreeMap}}.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)