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 b215d7e4604 IGNITE-27917 Use MessageSerializer for StatisticsRequest 
and StatisticsResponse (#12797)
b215d7e4604 is described below

commit b215d7e4604b22073789c8c066204388c63fc93f
Author: Dmitry Werner <[email protected]>
AuthorDate: Wed Feb 25 19:32:10 2026 +0500

    IGNITE-27917 Use MessageSerializer for StatisticsRequest and 
StatisticsResponse (#12797)
---
 .../communication/GridIoMessageFactory.java        |   6 +-
 .../query/stat/messages/StatisticsRequest.java     | 123 ++-------------------
 .../query/stat/messages/StatisticsResponse.java    |  65 +----------
 3 files changed, 20 insertions(+), 174 deletions(-)

diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java
index 222562a4b4e..85dba405146 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/managers/communication/GridIoMessageFactory.java
@@ -298,7 +298,9 @@ import 
org.apache.ignite.internal.processors.query.stat.messages.StatisticsDecim
 import 
org.apache.ignite.internal.processors.query.stat.messages.StatisticsKeyMessage;
 import 
org.apache.ignite.internal.processors.query.stat.messages.StatisticsObjectData;
 import 
org.apache.ignite.internal.processors.query.stat.messages.StatisticsRequest;
+import 
org.apache.ignite.internal.processors.query.stat.messages.StatisticsRequestSerializer;
 import 
org.apache.ignite.internal.processors.query.stat.messages.StatisticsResponse;
+import 
org.apache.ignite.internal.processors.query.stat.messages.StatisticsResponseSerializer;
 import 
org.apache.ignite.internal.processors.rest.handlers.task.GridTaskResultRequest;
 import 
org.apache.ignite.internal.processors.rest.handlers.task.GridTaskResultRequestSerializer;
 import 
org.apache.ignite.internal.processors.rest.handlers.task.GridTaskResultResponse;
@@ -501,8 +503,8 @@ public class GridIoMessageFactory implements 
MessageFactoryProvider {
         factory.register(StatisticsDecimalMessage.TYPE_CODE, 
StatisticsDecimalMessage::new);
         factory.register(StatisticsObjectData.TYPE_CODE, 
StatisticsObjectData::new);
         factory.register(StatisticsColumnData.TYPE_CODE, 
StatisticsColumnData::new);
-        factory.register(StatisticsRequest.TYPE_CODE, StatisticsRequest::new);
-        factory.register(StatisticsResponse.TYPE_CODE, 
StatisticsResponse::new);
+        factory.register(StatisticsRequest.TYPE_CODE, StatisticsRequest::new, 
new StatisticsRequestSerializer());
+        factory.register(StatisticsResponse.TYPE_CODE, 
StatisticsResponse::new, new StatisticsResponseSerializer());
 
         factory.register(CachePartitionPartialCountersMap.TYPE_CODE, 
CachePartitionPartialCountersMap::new,
             new CachePartitionPartialCountersMapSerializer());
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/query/stat/messages/StatisticsRequest.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/query/stat/messages/StatisticsRequest.java
index aec9fa8500c..68be1c1ee21 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/query/stat/messages/StatisticsRequest.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/query/stat/messages/StatisticsRequest.java
@@ -17,17 +17,13 @@
 
 package org.apache.ignite.internal.processors.query.stat.messages;
 
-import java.nio.ByteBuffer;
 import java.util.Map;
 import java.util.UUID;
-import org.apache.ignite.internal.GridDirectMap;
+import org.apache.ignite.internal.Order;
 import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion;
 import org.apache.ignite.internal.processors.query.stat.StatisticsType;
 import org.apache.ignite.internal.util.typedef.internal.S;
 import org.apache.ignite.plugin.extensions.communication.Message;
-import 
org.apache.ignite.plugin.extensions.communication.MessageCollectionItemType;
-import org.apache.ignite.plugin.extensions.communication.MessageReader;
-import org.apache.ignite.plugin.extensions.communication.MessageWriter;
 
 /**
  * Request for statistics.
@@ -37,20 +33,24 @@ public class StatisticsRequest implements Message {
     public static final short TYPE_CODE = 187;
 
     /** Gathering id. */
-    private UUID reqId;
+    @Order(0)
+    UUID reqId;
 
     /** Key to supply statistics by. */
-    private StatisticsKeyMessage key;
+    @Order(1)
+    StatisticsKeyMessage key;
 
     /** Type of required statistcs. */
-    private StatisticsType type;
+    @Order(2)
+    StatisticsType type;
 
     /** For local statistics request - column config versions map: name to 
version. */
-    @GridDirectMap(keyType = String.class, valueType = Long.class)
-    private Map<String, Long> versions;
+    @Order(3)
+    Map<String, Long> versions;
 
     /** For local statistics request - version to gather statistics by. */
-    private AffinityTopologyVersion topVer;
+    @Order(4)
+    AffinityTopologyVersion topVer;
 
     /**
      * Constructor.
@@ -119,107 +119,6 @@ public class StatisticsRequest implements Message {
         return S.toString(StatisticsRequest.class, this);
     }
 
-    /** {@inheritDoc} */
-    @Override public boolean writeTo(ByteBuffer buf, MessageWriter writer) {
-        writer.setBuffer(buf);
-
-        if (!writer.isHeaderWritten()) {
-            if (!writer.writeHeader(directType()))
-                return false;
-
-            writer.onHeaderWritten();
-        }
-
-        switch (writer.state()) {
-            case 0:
-                if (!writer.writeMessage(key))
-                    return false;
-
-                writer.incrementState();
-
-            case 1:
-                if (!writer.writeUuid(reqId))
-                    return false;
-
-                writer.incrementState();
-
-            case 2:
-                if (!writer.writeAffinityTopologyVersion(topVer))
-                    return false;
-
-                writer.incrementState();
-
-            case 3:
-                if (!writer.writeByte(type != null ? (byte)type.ordinal() : 
-1))
-                    return false;
-
-                writer.incrementState();
-
-            case 4:
-                if (!writer.writeMap(versions, 
MessageCollectionItemType.STRING, MessageCollectionItemType.LONG))
-                    return false;
-
-                writer.incrementState();
-
-        }
-
-        return true;
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean readFrom(ByteBuffer buf, MessageReader reader) {
-        reader.setBuffer(buf);
-
-        switch (reader.state()) {
-            case 0:
-                key = reader.readMessage();
-
-                if (!reader.isLastRead())
-                    return false;
-
-                reader.incrementState();
-
-            case 1:
-                reqId = reader.readUuid();
-
-                if (!reader.isLastRead())
-                    return false;
-
-                reader.incrementState();
-
-            case 2:
-                topVer = reader.readAffinityTopologyVersion();
-
-                if (!reader.isLastRead())
-                    return false;
-
-                reader.incrementState();
-
-            case 3:
-                byte typeOrd;
-
-                typeOrd = reader.readByte();
-
-                if (!reader.isLastRead())
-                    return false;
-
-                type = StatisticsType.fromOrdinal(typeOrd);
-
-                reader.incrementState();
-
-            case 4:
-                versions = reader.readMap(MessageCollectionItemType.STRING, 
MessageCollectionItemType.LONG, false);
-
-                if (!reader.isLastRead())
-                    return false;
-
-                reader.incrementState();
-
-        }
-
-        return true;
-    }
-
     /** {@inheritDoc} */
     @Override public short directType() {
         return TYPE_CODE;
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/query/stat/messages/StatisticsResponse.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/query/stat/messages/StatisticsResponse.java
index a96bf0fa2a8..da2bb20d6ed 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/query/stat/messages/StatisticsResponse.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/query/stat/messages/StatisticsResponse.java
@@ -17,12 +17,10 @@
 
 package org.apache.ignite.internal.processors.query.stat.messages;
 
-import java.nio.ByteBuffer;
 import java.util.UUID;
+import org.apache.ignite.internal.Order;
 import org.apache.ignite.internal.util.typedef.internal.S;
 import org.apache.ignite.plugin.extensions.communication.Message;
-import org.apache.ignite.plugin.extensions.communication.MessageReader;
-import org.apache.ignite.plugin.extensions.communication.MessageWriter;
 
 /**
  * Response for statistics request.
@@ -32,10 +30,12 @@ public class StatisticsResponse implements Message {
     public static final short TYPE_CODE = 188;
 
     /** Request id. */
-    private UUID reqId;
+    @Order(0)
+    UUID reqId;
 
     /** Requested statistics. */
-    private StatisticsObjectData data;
+    @Order(1)
+    StatisticsObjectData data;
 
     /**
      * Constructor.
@@ -76,61 +76,6 @@ public class StatisticsResponse implements Message {
         return S.toString(StatisticsResponse.class, this);
     }
 
-    /** {@inheritDoc} */
-    @Override public boolean writeTo(ByteBuffer buf, MessageWriter writer) {
-        writer.setBuffer(buf);
-
-        if (!writer.isHeaderWritten()) {
-            if (!writer.writeHeader(directType()))
-                return false;
-
-            writer.onHeaderWritten();
-        }
-
-        switch (writer.state()) {
-            case 0:
-                if (!writer.writeMessage(data))
-                    return false;
-
-                writer.incrementState();
-
-            case 1:
-                if (!writer.writeUuid(reqId))
-                    return false;
-
-                writer.incrementState();
-
-        }
-
-        return true;
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean readFrom(ByteBuffer buf, MessageReader reader) {
-        reader.setBuffer(buf);
-
-        switch (reader.state()) {
-            case 0:
-                data = reader.readMessage();
-
-                if (!reader.isLastRead())
-                    return false;
-
-                reader.incrementState();
-
-            case 1:
-                reqId = reader.readUuid();
-
-                if (!reader.isLastRead())
-                    return false;
-
-                reader.incrementState();
-
-        }
-
-        return true;
-    }
-
     /** {@inheritDoc} */
     @Override public short directType() {
         return TYPE_CODE;

Reply via email to