[ 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)