[ https://issues.apache.org/jira/browse/IGNITE-1744?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andrey Gura resolved IGNITE-1744. --------------------------------- Resolution: Fixed Fixed as part of IGNITE-1526. If library classes implementations differ then vendor should provide compatibility for serializable classes. So this classes will have equal {{serialVersionUID}} field value and we use it instead of JDK's default. > Serialization problems in case of cluster with different JDKs vendors and > different classes implementations. > ------------------------------------------------------------------------------------------------------------ > > Key: IGNITE-1744 > URL: https://issues.apache.org/jira/browse/IGNITE-1744 > Project: Ignite > Issue Type: Bug > Reporter: Andrey Gura > Assignee: Andrey Gura > Fix For: 1.5 > > > For example {{BigInteger}} class has different implementations in Orcale and > IBM JDKs. Serialization of {{BigInteger}} instances works correctly in case > of {{JdkMarshaller}}, but fails in case of {{OptimizedMarshaller}} or > {{PortableMarshaller}} because {{getDeclaredFields}} returns different sets > of fields for Oracle and IBM, so {{OptimizedMarshaller}} calculates checksums > that are not equal for different vendors. {{PortableMarshaller}} use > {{OptimizedMarshaller}} for classes with overrided > {{readObject}}/{{writeObject}}, so it works incorrectly also. > Solution discussion started here: > https://issues.apache.org/jira/browse/IGNITE-1526?focusedCommentId=14955424&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14955424 -- This message was sent by Atlassian JIRA (v6.3.4#6332)