You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Alexey Goncharuk (JIRA)" <ji...@apache.org> on 2017/06/15 11:32:00 UTC

[jira] [Updated] (IGNITE-5496) Externalizable classes get registered twice

     [ https://issues.apache.org/jira/browse/IGNITE-5496?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Alexey Goncharuk updated IGNITE-5496:
-------------------------------------
    Labels: important  (was: )

> 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
>              Labels: important
>             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)