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