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

Dmitry Werner commented on IGNITE-25882:
----------------------------------------

List of classes that implement both Message and Externalizable interfaces:
- org.apache.ignite.internal.binary.BinaryEnumObjectImpl implements 
BinaryObjectEx, Externalizable, CacheObject
- org.apache.ignite.internal.binary.BinaryObjectImpl extends BinaryObjectExImpl 
implements Externalizable, KeyCacheObject
- org.apache.ignite.internal.binary.BinaryObjectOffheapImpl extends 
BinaryObjectExImpl implements Externalizable, CacheObject
- org.apache.ignite.internal.managers.deployment.GridDeploymentInfoBean 
implements Message, GridDeploymentInfo, Externalizable
- org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion 
implements Comparable<AffinityTopologyVersion>, Externalizable, Message
- 
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionExchangeId
 implements Message, Comparable<GridDhtPartitionExchangeId>, Externalizable
- org.apache.ignite.internal.processors.cache.GridCacheReturn implements 
Externalizable, Message
- org.apache.ignite.internal.processors.cache.CacheObjectAdapter implements 
CacheObject, Externalizable (and all subclasses inheriting from this abstract 
class)
- org.apache.ignite.internal.processors.cache.CacheObjectByteArrayImpl 
implements CacheObject, Externalizable (and subclass)
- 
org.apache.ignite.internal.processors.cache.version.GridCacheRawVersionedEntry<K,
 V> extends DataStreamerEntry implements GridCacheVersionedEntry<K, V>, 
GridCacheVersionable, Externalizable
- org.apache.ignite.internal.processors.cache.version.GridCacheVersion 
implements Message, Externalizable, CacheEntryVersion (and all subclasses)
- org.apache.ignite.internal.processors.odbc.ClientMessage implements Message, 
Externalizable
- org.apache.ignite.internal.util.GridByteArrayList implements Message, 
Externalizable
- org.apache.ignite.internal.util.GridIntList implements Message, Externalizable
- org.apache.ignite.internal.util.GridLongList implements Message, 
Externalizable (and subclass)

> Remove Serializable interface from Message
> ------------------------------------------
>
>                 Key: IGNITE-25882
>                 URL: https://issues.apache.org/jira/browse/IGNITE-25882
>             Project: Ignite
>          Issue Type: Task
>            Reporter: Maksim Timonin
>            Assignee: Dmitry Werner
>            Priority: Major
>              Labels: ise
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> Currently Message interface extends Serializable. But Ignite use our custom 
> logic for message serialization (MessageSerializer of Message#writeTo, 
> Message#readFrom). Then usage of Serializable is useless, but misleading. 
> What should be done:
>  # Remove Serializable interface from 
> org.apache.ignite.plugin.extensions.communication.Message class.
>  # Remove serialVersionUID from all classes implements the interface. 
>  # If some classes requires java serialization (overrides 
> writeObject/writeReplace/writeExternal methods) - let's investigate this 
> cases.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to