Alexey Goncharuk created IGNITE-5496:
----------------------------------------
Summary: Externalizable classes get registered twice
Key: IGNITE-5496
URL: https://issues.apache.org/jira/browse/IGNITE-5496
Project: Ignite
Issue Type: Bug
Components: cache
Affects Versions: 1.7
Reporter: Alexey Goncharuk
Fix For: 2.2
I observed a strange behavior on ignite-1.7. If I have an externalizable class
inside of a serializable class and BinaryMarshaller is used, the externalizable
class gets registered twice with different typeIds.
Looks like this happens because in BinaryWriterExImpl#marshal0 we first call
ctx.descriptorForClass(cls, false) which will calculate and register type with
one typeId. Then we figure out that the class is externalizable and switch to
optimized marshaller (U.marshal(ctx.optimizedMarsh(), obj)) which will register
another type ID.
Need to check if this is still reproducible in 2.1-2.2 as it may be a
performance issue.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)