ignite-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alexey Goncharuk (JIRA)" <j...@apache.org>
Subject [jira] [Created] (IGNITE-5496) Externalizable classes get registered twice
Date Thu, 15 Jun 2017 11:32:00 GMT
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

View raw message