[ 
https://issues.apache.org/jira/browse/IGNITE-2894?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16465753#comment-16465753
 ] 

Vladimir Ozerov commented on IGNITE-2894:
-----------------------------------------

[~NSAmelchev], [~dpavlov], 
Folks,
At this point I am not sure whether product needs this change. We do not see 
consistent flow of problems with our binary serialization engine. Complex 
{{Externalizable}} objects are rarely used in data models, they cannot be 
queried, and in general we consider their usage as antipattern. At the same 
time this change introduce serious protocol changes: New mode is enabled by 
default, so all users of our persistence will have difficulties with migration. 
Also some special case for hash code calculation is introduced. Some new 
special cases for {{GridCacheInternal}} and {{AffinityKey}} are introduced.

All this would be rather complex to explain and understand. I propose to either 
put this feature on hold until AI 3.0 where we will try to remove 
{{OptimizedMarshaller}}, or make sure that dafault behavior remained the same.

> Binary object inside of Externalizable still serialized with 
> OptimizedMarshaller
> --------------------------------------------------------------------------------
>
>                 Key: IGNITE-2894
>                 URL: https://issues.apache.org/jira/browse/IGNITE-2894
>             Project: Ignite
>          Issue Type: Bug
>          Components: binary
>    Affects Versions: 1.5.0.final
>            Reporter: Valentin Kulichenko
>            Assignee: Amelchev Nikita
>            Priority: Critical
>              Labels: community, customer, iep-2
>             Fix For: 2.6
>
>
> When binary marshaller meets an Externalizable object, it switches to 
> optimized marshaller. And if there is a regular object inside, it's still 
> serialized with optimized, even if its type is declared in binary 
> configuration with custom mapper, etc.
> Essentially, binary marshaller should fully support Java serialization, 
> including {{Externalizable}} and {{writeObject}}/{{readObject}}.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to