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

shishkovilja 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 81cfb746549 IGNITE-27888 Use message serializer for 
DistributedMetaStorageUpdateAckMessage and DistributedMetaStorageCasAckMessage 
(#12754)
81cfb746549 is described below

commit 81cfb7465498d10f75ead9d893a81167277ad8ab
Author: Vladimir Steshin <[email protected]>
AuthorDate: Tue Mar 10 18:00:25 2026 +0300

    IGNITE-27888 Use message serializer for 
DistributedMetaStorageUpdateAckMessage and DistributedMetaStorageCasAckMessage 
(#12754)
---
 .../discovery/DiscoveryMessageFactory.java         | 12 +++++++
 .../DistributedMetaStorageCasAckMessage.java       | 21 +++++++++---
 .../DistributedMetaStorageCasMessage.java          | 25 +++++++++++---
 .../persistence/DistributedMetaStorageImpl.java    | 17 +++-------
 .../DistributedMetaStorageUpdateAckMessage.java    | 31 ++++++++++-------
 .../DistributedMetaStorageUpdateMessage.java       | 39 ++++++++++++++--------
 6 files changed, 97 insertions(+), 48 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 943291439f9..bc8dfcba489 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
@@ -47,6 +47,14 @@ 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.metastorage.persistence.DistributedMetaStorageCasAckMessage;
+import 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageCasAckMessageSerializer;
+import 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageCasMessage;
+import 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageCasMessageSerializer;
+import 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageUpdateAckMessage;
+import 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageUpdateAckMessageSerializer;
+import 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageUpdateMessage;
+import 
org.apache.ignite.internal.processors.metastorage.persistence.DistributedMetaStorageUpdateMessageSerializer;
 import 
org.apache.ignite.internal.processors.query.schema.message.SchemaFinishDiscoveryMessage;
 import 
org.apache.ignite.internal.processors.query.schema.message.SchemaFinishDiscoveryMessageSerializer;
 import 
org.apache.ignite.internal.processors.query.schema.message.SchemaProposeDiscoveryMessage;
@@ -161,6 +169,10 @@ public class DiscoveryMessageFactory implements 
MessageFactoryProvider {
         factory.register((short)22, 
TcpDiscoveryServerOnlyCustomEventMessage::new,
             new TcpDiscoveryServerOnlyCustomEventMessageSerializer());
         factory.register((short)23, TcpConnectionRequestDiscoveryMessage::new, 
new TcpConnectionRequestDiscoveryMessageSerializer());
+        factory.register((short)24, DistributedMetaStorageUpdateMessage::new, 
new DistributedMetaStorageUpdateMessageSerializer());
+        factory.register((short)25, 
DistributedMetaStorageUpdateAckMessage::new, new 
DistributedMetaStorageUpdateAckMessageSerializer());
+        factory.register((short)26, DistributedMetaStorageCasMessage::new, new 
DistributedMetaStorageCasMessageSerializer());
+        factory.register((short)27, DistributedMetaStorageCasAckMessage::new, 
new DistributedMetaStorageCasAckMessageSerializer());
 
         // DiscoveryCustomMessage
         factory.register((short)500, CacheStatisticsModeChangeMessage::new, 
new CacheStatisticsModeChangeMessageSerializer());
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/metastorage/persistence/DistributedMetaStorageCasAckMessage.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/metastorage/persistence/DistributedMetaStorageCasAckMessage.java
index 30dda350ec6..8c3b7b7e144 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/metastorage/persistence/DistributedMetaStorageCasAckMessage.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/metastorage/persistence/DistributedMetaStorageCasAckMessage.java
@@ -18,19 +18,27 @@
 package org.apache.ignite.internal.processors.metastorage.persistence;
 
 import java.util.UUID;
+import org.apache.ignite.internal.Order;
+import org.apache.ignite.internal.managers.discovery.DiscoveryMessageFactory;
 import org.apache.ignite.internal.util.typedef.internal.S;
 
 /** */
-class DistributedMetaStorageCasAckMessage extends 
DistributedMetaStorageUpdateAckMessage {
+public class DistributedMetaStorageCasAckMessage extends 
DistributedMetaStorageUpdateAckMessage {
     /** */
     private static final long serialVersionUID = 0L;
 
     /** */
-    private final boolean updated;
+    @Order(0)
+    boolean updated;
+
+    /** Empty constructor of {@link DiscoveryMessageFactory}. */
+    public DistributedMetaStorageCasAckMessage() {
+        // No-op.
+    }
 
     /** */
-    public DistributedMetaStorageCasAckMessage(UUID reqId, String errorMsg, 
boolean updated) {
-        super(reqId, errorMsg);
+    public DistributedMetaStorageCasAckMessage(UUID reqId, boolean updated) {
+        super(reqId);
 
         this.updated = updated;
     }
@@ -40,6 +48,11 @@ class DistributedMetaStorageCasAckMessage extends 
DistributedMetaStorageUpdateAc
         return updated;
     }
 
+    /** {@inheritDoc} */
+    @Override public short directType() {
+        return 27;
+    }
+
     /** {@inheritDoc} */
     @Override public String toString() {
         return S.toString(DistributedMetaStorageCasAckMessage.class, this);
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/metastorage/persistence/DistributedMetaStorageCasMessage.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/metastorage/persistence/DistributedMetaStorageCasMessage.java
index fa279596cba..17532aff37b 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/metastorage/persistence/DistributedMetaStorageCasMessage.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/metastorage/persistence/DistributedMetaStorageCasMessage.java
@@ -18,26 +18,36 @@
 package org.apache.ignite.internal.processors.metastorage.persistence;
 
 import java.util.UUID;
+import org.apache.ignite.internal.Order;
 import org.apache.ignite.internal.managers.discovery.DiscoveryCustomMessage;
+import org.apache.ignite.internal.managers.discovery.DiscoveryMessageFactory;
 import org.apache.ignite.internal.util.typedef.internal.S;
 import org.jetbrains.annotations.Nullable;
 
 /** */
-class DistributedMetaStorageCasMessage extends 
DistributedMetaStorageUpdateMessage {
+public class DistributedMetaStorageCasMessage extends 
DistributedMetaStorageUpdateMessage {
     /** */
     private static final long serialVersionUID = 0L;
 
-    /** */
-    private final byte[] expectedVal;
+    /** TODO: revise the external serialization 
https://issues.apache.org/jira/browse/IGNITE-28058. */
+    @Order(0)
+    byte[] expectedVal;
 
     /** */
-    private boolean matches = true;
+    @Order(1)
+    boolean matches;
+
+    /** Empty constructor for {@link DiscoveryMessageFactory}. */
+    public DistributedMetaStorageCasMessage() {
+        // No-op.
+    }
 
     /** */
     public DistributedMetaStorageCasMessage(UUID reqId, String key, byte[] 
expValBytes, byte[] valBytes) {
         super(reqId, key, valBytes);
 
         expectedVal = expValBytes;
+        matches = true;
     }
 
     /** */
@@ -57,7 +67,12 @@ class DistributedMetaStorageCasMessage extends 
DistributedMetaStorageUpdateMessa
 
     /** {@inheritDoc} */
     @Override @Nullable public DiscoveryCustomMessage ackMessage() {
-        return new DistributedMetaStorageCasAckMessage(requestId(), 
errorMessage(), matches);
+        return new DistributedMetaStorageCasAckMessage(requestId(), matches);
+    }
+
+    /** {@inheritDoc} */
+    @Override public short directType() {
+        return 26;
     }
 
     /** {@inheritDoc} */
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/metastorage/persistence/DistributedMetaStorageImpl.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/metastorage/persistence/DistributedMetaStorageImpl.java
index 147b98ceead..c9c0d6c49f9 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/metastorage/persistence/DistributedMetaStorageImpl.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/metastorage/persistence/DistributedMetaStorageImpl.java
@@ -1128,9 +1128,6 @@ public class DistributedMetaStorageImpl extends 
GridProcessorAdapter
         ClusterNode node,
         DistributedMetaStorageUpdateMessage msg
     ) {
-        if (msg.errorMessage() != null)
-            return;
-
         lock.writeLock().lock();
 
         try {
@@ -1166,17 +1163,11 @@ public class DistributedMetaStorageImpl extends 
GridProcessorAdapter
         GridFutureAdapter<Boolean> fut = updateFuts.remove(msg.requestId());
 
         if (fut != null) {
-            String errorMsg = msg.errorMessage();
-
-            if (errorMsg == null) {
-                Boolean res = msg instanceof 
DistributedMetaStorageCasAckMessage
-                    ? ((DistributedMetaStorageCasAckMessage)msg).updated()
-                    : null;
+            Boolean res = msg instanceof DistributedMetaStorageCasAckMessage
+                ? ((DistributedMetaStorageCasAckMessage)msg).updated()
+                : null;
 
-                fut.onDone(res);
-            }
-            else
-                fut.onDone(new IllegalStateException(errorMsg));
+            fut.onDone(res);
         }
     }
 
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/metastorage/persistence/DistributedMetaStorageUpdateAckMessage.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/metastorage/persistence/DistributedMetaStorageUpdateAckMessage.java
index e0fda7bb4bc..e029014f841 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/metastorage/persistence/DistributedMetaStorageUpdateAckMessage.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/metastorage/persistence/DistributedMetaStorageUpdateAckMessage.java
@@ -18,29 +18,36 @@
 package org.apache.ignite.internal.processors.metastorage.persistence;
 
 import java.util.UUID;
+import org.apache.ignite.internal.Order;
 import org.apache.ignite.internal.managers.discovery.DiscoveryCustomMessage;
+import org.apache.ignite.internal.managers.discovery.DiscoveryMessageFactory;
 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;
 
 /** */
-class DistributedMetaStorageUpdateAckMessage implements DiscoveryCustomMessage 
{
+public class DistributedMetaStorageUpdateAckMessage implements 
DiscoveryCustomMessage, Message {
     /** */
     private static final long serialVersionUID = 0L;
 
     /** */
-    private final IgniteUuid id = IgniteUuid.randomUuid();
+    @Order(0)
+    IgniteUuid id;
 
     /** Request ID. */
-    private final UUID reqId;
+    @Order(1)
+    UUID reqId;
 
-    /** */
-    private final String errorMsg;
+    /** Empty constructor of {@link DiscoveryMessageFactory}. */
+    public DistributedMetaStorageUpdateAckMessage() {
+        // No-op.
+    }
 
     /** */
-    public DistributedMetaStorageUpdateAckMessage(UUID reqId, String errorMsg) 
{
+    public DistributedMetaStorageUpdateAckMessage(UUID reqId) {
+        id = IgniteUuid.randomUuid();
         this.reqId = reqId;
-        this.errorMsg = errorMsg;
     }
 
     /** {@inheritDoc} */
@@ -53,16 +60,16 @@ class DistributedMetaStorageUpdateAckMessage implements 
DiscoveryCustomMessage {
         return reqId;
     }
 
-    /** */
-    public String errorMessage() {
-        return errorMsg;
-    }
-
     /** {@inheritDoc} */
     @Override @Nullable public DiscoveryCustomMessage ackMessage() {
         return null;
     }
 
+    /** {@inheritDoc} */
+    @Override public short directType() {
+        return 25;
+    }
+
     /** {@inheritDoc} */
     @Override public String toString() {
         return S.toString(DistributedMetaStorageUpdateAckMessage.class, this);
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/metastorage/persistence/DistributedMetaStorageUpdateMessage.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/metastorage/persistence/DistributedMetaStorageUpdateMessage.java
index 1d2cc6bc7bd..cb44ccc8f7b 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/metastorage/persistence/DistributedMetaStorageUpdateMessage.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/metastorage/persistence/DistributedMetaStorageUpdateMessage.java
@@ -18,36 +18,47 @@
 package org.apache.ignite.internal.processors.metastorage.persistence;
 
 import java.util.UUID;
+import org.apache.ignite.internal.Order;
 import org.apache.ignite.internal.managers.discovery.DiscoveryCustomMessage;
+import org.apache.ignite.internal.managers.discovery.DiscoveryMessageFactory;
 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;
 
 /** */
-class DistributedMetaStorageUpdateMessage implements DiscoveryCustomMessage {
+public class DistributedMetaStorageUpdateMessage implements 
DiscoveryCustomMessage, Message {
     /** */
     private static final long serialVersionUID = 0L;
 
     /** */
-    private final IgniteUuid id = IgniteUuid.randomUuid();
+    @Order(0)
+    IgniteUuid id;
 
     /** Request ID. */
     @GridToStringInclude
-    private final UUID reqId;
+    @Order(1)
+    UUID reqId;
 
     /** */
     @GridToStringInclude
-    private final String key;
+    @Order(2)
+    String key;
 
-    /** */
-    private final byte[] valBytes;
+    /** TODO: revise the external serialization 
https://issues.apache.org/jira/browse/IGNITE-28058. */
+    @Order(3)
+    byte[] valBytes;
 
-    /** */
-    private String errorMsg;
+    /** Empty constructor for {@link DiscoveryMessageFactory}. */
+    public DistributedMetaStorageUpdateMessage() {
+        // No-op.
+    }
 
     /** */
     public DistributedMetaStorageUpdateMessage(UUID reqId, String key, byte[] 
valBytes) {
+        id = IgniteUuid.randomUuid();
+
         this.reqId = reqId;
         this.key = key;
         this.valBytes = valBytes;
@@ -73,14 +84,9 @@ class DistributedMetaStorageUpdateMessage implements 
DiscoveryCustomMessage {
         return valBytes;
     }
 
-    /** */
-    protected String errorMessage() {
-        return errorMsg;
-    }
-
     /** {@inheritDoc} */
     @Override @Nullable public DiscoveryCustomMessage ackMessage() {
-        return new DistributedMetaStorageUpdateAckMessage(reqId, errorMsg);
+        return new DistributedMetaStorageUpdateAckMessage(reqId);
     }
 
     /** {@inheritDoc} */
@@ -88,6 +94,11 @@ class DistributedMetaStorageUpdateMessage implements 
DiscoveryCustomMessage {
         return true;
     }
 
+    /** {@inheritDoc} */
+    @Override public short directType() {
+        return 24;
+    }
+
     /** {@inheritDoc} */
     @Override public String toString() {
         return S.toString(DistributedMetaStorageUpdateMessage.class, this);

Reply via email to