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