This is an automated email from the ASF dual-hosted git repository.

av pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ignite.git


The following commit(s) were added to refs/heads/master by this push:
     new f6dacaaf29b IGNITE-27971 Use message serializer for 
MappingAcceptedMessage and MappingProposedMessage (#12811)
f6dacaaf29b is described below

commit f6dacaaf29bd780552e36dfe0fba536a283af52e
Author: Alexey Abashev <[email protected]>
AuthorDate: Mon Mar 16 15:26:34 2026 +0300

    IGNITE-27971 Use message serializer for MappingAcceptedMessage and 
MappingProposedMessage (#12811)
---
 .../discovery/DiscoveryMessageFactory.java         | 10 ++++++
 .../marshaller/MappingAcceptedMessage.java         | 24 +++++++++++---
 .../marshaller/MappingProposedMessage.java         | 37 ++++++++++++++++------
 .../marshaller/MarshallerMappingItem.java          | 26 +++++++++++----
 ...teMarshallerCacheClientRequestsMappingTest.java |  2 +-
 5 files changed, 76 insertions(+), 23 deletions(-)

diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/DiscoveryMessageFactory.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/DiscoveryMessageFactory.java
index 3969c9dd317..58eede617e8 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/DiscoveryMessageFactory.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/DiscoveryMessageFactory.java
@@ -51,6 +51,12 @@ import 
org.apache.ignite.internal.processors.continuous.StopRoutineAckDiscoveryM
 import 
org.apache.ignite.internal.processors.continuous.StopRoutineAckDiscoveryMessageSerializer;
 import 
org.apache.ignite.internal.processors.continuous.StopRoutineDiscoveryMessage;
 import 
org.apache.ignite.internal.processors.continuous.StopRoutineDiscoveryMessageSerializer;
+import org.apache.ignite.internal.processors.marshaller.MappingAcceptedMessage;
+import 
org.apache.ignite.internal.processors.marshaller.MappingAcceptedMessageSerializer;
+import org.apache.ignite.internal.processors.marshaller.MappingProposedMessage;
+import 
org.apache.ignite.internal.processors.marshaller.MappingProposedMessageSerializer;
+import org.apache.ignite.internal.processors.marshaller.MarshallerMappingItem;
+import 
org.apache.ignite.internal.processors.marshaller.MarshallerMappingItemSerializer;
 import 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageCasAckMessage;
 import 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageCasAckMessageSerializer;
 import 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageCasMessage;
@@ -220,5 +226,9 @@ public class DiscoveryMessageFactory implements 
MessageFactoryProvider {
         factory.register((short)514, StopRoutineDiscoveryMessage::new, new 
StopRoutineDiscoveryMessageSerializer());
         factory.register((short)515, CacheAffinityChangeMessage::new, new 
CacheAffinityChangeMessageSerializer());
         factory.register((short)516, ClientCacheChangeDiscoveryMessage::new, 
new ClientCacheChangeDiscoveryMessageSerializer());
+        factory.register((short)517, MappingAcceptedMessage::new, new 
MappingAcceptedMessageSerializer());
+        factory.register((short)518, MappingProposedMessage::new, new 
MappingProposedMessageSerializer());
+        factory.register((short)519, MarshallerMappingItem::new, new 
MarshallerMappingItemSerializer());
+
     }
 }
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/marshaller/MappingAcceptedMessage.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/marshaller/MappingAcceptedMessage.java
index e40815f31f4..9223aa2cb26 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/marshaller/MappingAcceptedMessage.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/marshaller/MappingAcceptedMessage.java
@@ -17,9 +17,11 @@
 
 package org.apache.ignite.internal.processors.marshaller;
 
+import org.apache.ignite.internal.Order;
 import org.apache.ignite.internal.managers.discovery.DiscoveryCustomMessage;
 import org.apache.ignite.internal.util.typedef.internal.S;
 import org.apache.ignite.lang.IgniteUuid;
+import org.apache.ignite.plugin.extensions.communication.Message;
 import org.jetbrains.annotations.Nullable;
 
 /**
@@ -27,21 +29,28 @@ import org.jetbrains.annotations.Nullable;
  *
  * If any nodes were waiting for this mapping to be accepted they will be 
unblocked on receiving this message.
  */
-public class MappingAcceptedMessage implements DiscoveryCustomMessage {
+public class MappingAcceptedMessage implements DiscoveryCustomMessage, Message 
{
     /** */
     private static final long serialVersionUID = 0L;
 
     /** */
-    private final IgniteUuid id = IgniteUuid.randomUuid();
+    @Order(0)
+    IgniteUuid id;
 
     /** */
-    private final MarshallerMappingItem item;
+    @Order(1)
+    MarshallerMappingItem item;
+
+    /** */
+    public MappingAcceptedMessage() {
+        // No-op.
+    }
 
     /**
      * @param item Item.
      */
     MappingAcceptedMessage(MarshallerMappingItem item) {
-        this.item = item;
+        id = IgniteUuid.randomUuid();
     }
 
     /** {@inheritDoc} */
@@ -55,10 +64,15 @@ public class MappingAcceptedMessage implements 
DiscoveryCustomMessage {
     }
 
     /** */
-    MarshallerMappingItem getMappingItem() {
+    public MarshallerMappingItem getMappingItem() {
         return item;
     }
 
+    /** {@inheritDoc} */
+    @Override public short directType() {
+        return 517;
+    }
+
     /** {@inheritDoc} */
     @Override public String toString() {
         return S.toString(MappingAcceptedMessage.class, this);
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/marshaller/MappingProposedMessage.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/marshaller/MappingProposedMessage.java
index 33a2168c226..2e2a6cb5e69 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/marshaller/MappingProposedMessage.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/marshaller/MappingProposedMessage.java
@@ -18,10 +18,11 @@
 package org.apache.ignite.internal.processors.marshaller;
 
 import java.util.UUID;
+import org.apache.ignite.internal.Order;
 import org.apache.ignite.internal.managers.discovery.DiscoveryCustomMessage;
-import org.apache.ignite.internal.util.tostring.GridToStringInclude;
 import org.apache.ignite.internal.util.typedef.internal.S;
 import org.apache.ignite.lang.IgniteUuid;
+import org.apache.ignite.plugin.extensions.communication.Message;
 import org.jetbrains.annotations.Nullable;
 
 /**
@@ -33,9 +34,9 @@ import org.jetbrains.annotations.Nullable;
  * When it completes a pass around the cluster ring with no conflicts observed,
  * {@link MappingAcceptedMessage} is sent as an acknowledgement that 
everything is fine.
  */
-public class MappingProposedMessage implements DiscoveryCustomMessage {
+public class MappingProposedMessage implements DiscoveryCustomMessage, Message 
{
     /** */
-    private enum ProposalStatus {
+    enum ProposalStatus {
         /** */
         SUCCESSFUL,
         /** */
@@ -48,20 +49,29 @@ public class MappingProposedMessage implements 
DiscoveryCustomMessage {
     private static final long serialVersionUID = 0L;
 
     /** */
-    private final IgniteUuid id = IgniteUuid.randomUuid();
+    @Order(0)
+    IgniteUuid id;
 
     /** */
-    private final UUID origNodeId;
+    @Order(1)
+    UUID origNodeId;
 
     /** */
-    @GridToStringInclude
-    private final MarshallerMappingItem mappingItem;
+    @Order(2)
+    MarshallerMappingItem mappingItem;
 
     /** */
-    private ProposalStatus status = ProposalStatus.SUCCESSFUL;
+    @Order(3)
+    ProposalStatus status;
 
     /** */
-    private String conflictingClsName;
+    @Order(4)
+    String conflictingClsName;
+
+    /** */
+    public MappingProposedMessage() {
+        // No-op.
+    }
 
     /**
      * @param mappingItem Mapping item.
@@ -70,8 +80,10 @@ public class MappingProposedMessage implements 
DiscoveryCustomMessage {
     MappingProposedMessage(MarshallerMappingItem mappingItem, UUID origNodeId) 
{
         assert origNodeId != null;
 
+        id = IgniteUuid.randomUuid();
         this.mappingItem = mappingItem;
         this.origNodeId = origNodeId;
+        status = ProposalStatus.SUCCESSFUL;
     }
 
     /** {@inheritDoc} */
@@ -84,7 +96,7 @@ public class MappingProposedMessage implements 
DiscoveryCustomMessage {
      */
     @Nullable @Override public DiscoveryCustomMessage ackMessage() {
         if (status == ProposalStatus.SUCCESSFUL)
-            return new MappingAcceptedMessage(mappingItem);
+            return new MappingAcceptedMessage(mappingItem());
         else
             return null;
     }
@@ -130,6 +142,11 @@ public class MappingProposedMessage implements 
DiscoveryCustomMessage {
         return conflictingClsName;
     }
 
+    /** {@inheritDoc} */
+    @Override public short directType() {
+        return 518;
+    }
+
     /** {@inheritDoc} */
     @Override public String toString() {
         return S.toString(MappingProposedMessage.class, this);
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/marshaller/MarshallerMappingItem.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/marshaller/MarshallerMappingItem.java
index f715eb2fa7f..6414d545e73 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/marshaller/MarshallerMappingItem.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/marshaller/MarshallerMappingItem.java
@@ -17,26 +17,33 @@
 
 package org.apache.ignite.internal.processors.marshaller;
 
-import java.io.Serializable;
 import java.util.Objects;
+import org.apache.ignite.internal.Order;
+import org.apache.ignite.plugin.extensions.communication.Message;
 import org.jetbrains.annotations.Nullable;
 
 /**
  *  Used to exchange mapping information on new mapping added or missing 
mapping requested flows.
  *  See {@link GridMarshallerMappingProcessor} javadoc for more information.
  */
-public final class MarshallerMappingItem implements Serializable {
+public final class MarshallerMappingItem implements Message {
     /** */
-    private static final long serialVersionUID = 0L;
+    @Order(0)
+    byte platformId;
 
     /** */
-    private final byte platformId;
+    @Order(1)
+    int typeId;
 
     /** */
-    private final int typeId;
+    @Order(2)
+    String clsName;
 
-    /** */
-    private String clsName;
+    /**
+     * no-op
+     */
+    public MarshallerMappingItem() {
+    }
 
     /**
      * Class name may be null when instance is created to request missing 
mapping from cluster.
@@ -97,4 +104,9 @@ public final class MarshallerMappingItem implements 
Serializable {
     @Override public String toString() {
         return "[platformId: " + platformId + ", typeId:" + typeId + ", 
clsName: " + clsName + "]";
     }
+
+    /** {@inheritDoc} */
+    @Override public short directType() {
+        return 519;
+    }
 }
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteMarshallerCacheClientRequestsMappingTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteMarshallerCacheClientRequestsMappingTest.java
index 5dc0d6bf69e..658c56872e6 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteMarshallerCacheClientRequestsMappingTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteMarshallerCacheClientRequestsMappingTest.java
@@ -168,7 +168,7 @@ public class IgniteMarshallerCacheClientRequestsMappingTest 
extends GridCommonAb
                             DiscoveryCustomMessage delegate = 
U.unwrapCustomMessage(evtMsg.message());
 
                             if (delegate instanceof MappingAcceptedMessage) {
-                                MarshallerMappingItem item = 
GridTestUtils.getFieldValue(delegate, "item");
+                                MarshallerMappingItem item = 
((MappingAcceptedMessage)delegate).getMappingItem();
 
                                 if (item.className().equals(PERSON_CLASS_NAME) 
||
                                     
item.className().equals(ORGANIZATION_CLASS_NAME) ||

Reply via email to