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

timoninmaxim 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 18cad733825 IGNITE-26321 Use MessageSerializer for 
GridQueryNextPageResponse (#12307)
18cad733825 is described below

commit 18cad733825a143d7381ae3247907131cfbec22f
Author: Dmitry Werner <[email protected]>
AuthorDate: Tue Sep 2 13:26:23 2025 +0500

    IGNITE-26321 Use MessageSerializer for GridQueryNextPageResponse (#12307)
---
 .../communication/GridIoMessageFactory.java        |   3 +-
 .../messages/GridQueryNextPageResponse.java        | 243 ++++++---------------
 2 files changed, 64 insertions(+), 182 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 f7a7e818fc5..b462c8aa538 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
@@ -41,6 +41,7 @@ import 
org.apache.ignite.internal.codegen.GridQueryFailResponseSerializer;
 import org.apache.ignite.internal.codegen.GridQueryKillRequestSerializer;
 import org.apache.ignite.internal.codegen.GridQueryKillResponseSerializer;
 import org.apache.ignite.internal.codegen.GridQueryNextPageRequestSerializer;
+import org.apache.ignite.internal.codegen.GridQueryNextPageResponseSerializer;
 import org.apache.ignite.internal.codegen.GridTaskCancelRequestSerializer;
 import org.apache.ignite.internal.codegen.GridTaskResultRequestSerializer;
 import org.apache.ignite.internal.codegen.IgniteTxKeySerializer;
@@ -321,7 +322,7 @@ public class GridIoMessageFactory implements 
MessageFactoryProvider {
         factory.register((short)106, GridQueryCancelRequest::new);
         factory.register((short)107, GridQueryFailResponse::new, new 
GridQueryFailResponseSerializer());
         factory.register((short)108, GridQueryNextPageRequest::new, new 
GridQueryNextPageRequestSerializer());
-        factory.register((short)109, GridQueryNextPageResponse::new);
+        factory.register((short)109, GridQueryNextPageResponse::new, new 
GridQueryNextPageResponseSerializer());
         factory.register((short)112, GridCacheSqlQuery::new);
         // 113 - BinaryObjectImpl
         factory.register((short)114, GridDhtPartitionSupplyMessage::new);
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/messages/GridQueryNextPageResponse.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/messages/GridQueryNextPageResponse.java
index 10cf1fc757e..24ef33701a3 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/messages/GridQueryNextPageResponse.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/messages/GridQueryNextPageResponse.java
@@ -17,47 +17,42 @@
 
 package org.apache.ignite.internal.processors.query.h2.twostep.messages;
 
-import java.io.Serializable;
-import java.nio.ByteBuffer;
 import java.util.Collection;
-import org.apache.ignite.internal.GridDirectCollection;
-import org.apache.ignite.internal.GridDirectTransient;
-import org.apache.ignite.internal.IgniteCodeGeneratingFail;
+import org.apache.ignite.internal.Order;
 import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion;
 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;
 
 /**
  * Next page response.
  */
-@IgniteCodeGeneratingFail
-public class GridQueryNextPageResponse implements Message, Serializable {
-    /** */
-    private static final long serialVersionUID = 0L;
-
+public class GridQueryNextPageResponse implements Message {
     /** */
+    @Order(value = 0, method = "queryRequestId")
     private long qryReqId;
 
     /** */
+    @Order(1)
     private int segmentId;
 
     /** */
+    @Order(value = 2, method = "query")
     private int qry;
 
     /** */
+    @Order(3)
     private int page;
 
     /** */
+    @Order(4)
     private int allRows;
 
     /** */
+    @Order(value = 5, method = "columns")
     private int cols;
 
     /** */
-    @GridDirectCollection(Message.class)
+    @Order(value = 6, method = "values")
     private Collection<Message> vals;
 
     /**
@@ -65,16 +60,18 @@ public class GridQueryNextPageResponse implements Message, 
Serializable {
      * See {@code 
org.apache.ignite.internal.processors.query.h2.twostep.msg.GridH2ValueMessageFactory#toMessages}.
      * See javadoc for {@code 
org.h2.result.ResultInterface#getVisibleColumnCount()} and {@code 
org.h2.result.ResultInterface#currentRow()}.
      */
-    @GridDirectTransient
-    private transient Collection<?> plainRows;
+    private Collection<?> plainRows;
 
     /** */
+    @Order(7)
     private AffinityTopologyVersion retry;
 
     /** Retry cause description. */
+    @Order(8)
     private String retryCause;
 
     /** Last page flag. */
+    @Order(9)
     private boolean last;
 
     /**
@@ -118,6 +115,13 @@ public class GridQueryNextPageResponse implements Message, 
Serializable {
         return qryReqId;
     }
 
+    /**
+     * @param qryReqId Query request ID.
+     */
+    public void queryRequestId(long qryReqId) {
+        this.qryReqId = qryReqId;
+    }
+
     /**
      * @return Index segment ID.
      */
@@ -125,6 +129,13 @@ public class GridQueryNextPageResponse implements Message, 
Serializable {
         return segmentId;
     }
 
+    /**
+     * @param segmentId Index segment ID.
+     */
+    public void segmentId(int segmentId) {
+        this.segmentId = segmentId;
+    }
+
     /**
      * @return Query.
      */
@@ -132,6 +143,13 @@ public class GridQueryNextPageResponse implements Message, 
Serializable {
         return qry;
     }
 
+    /**
+     * @param qry Query.
+     */
+    public void query(int qry) {
+        this.qry = qry;
+    }
+
     /**
      * @return Page.
      */
@@ -139,6 +157,13 @@ public class GridQueryNextPageResponse implements Message, 
Serializable {
         return page;
     }
 
+    /**
+     * @param page Page.
+     */
+    public void page(int page) {
+        this.page = page;
+    }
+
     /**
      * @return All rows.
      */
@@ -146,6 +171,13 @@ public class GridQueryNextPageResponse implements Message, 
Serializable {
         return allRows;
     }
 
+    /**
+     * @param allRows All rows.
+     */
+    public void allRows(int allRows) {
+        this.allRows = allRows;
+    }
+
     /**
      * @return Columns in row.
      */
@@ -153,6 +185,13 @@ public class GridQueryNextPageResponse implements Message, 
Serializable {
         return cols;
     }
 
+    /**
+     * @param cols Columns in row.
+     */
+    public void columns(int cols) {
+        this.cols = cols;
+    }
+
     /**
      * @return Values.
      */
@@ -160,6 +199,13 @@ public class GridQueryNextPageResponse implements Message, 
Serializable {
         return vals;
     }
 
+    /**
+     * @param vals Values.
+     */
+    public void values(Collection<Message> vals) {
+        this.vals = vals;
+    }
+
     /**
      * @return Plain rows.
      */
@@ -172,171 +218,6 @@ public class GridQueryNextPageResponse implements 
Message, Serializable {
         // No-op.
     }
 
-    /** {@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.writeInt(allRows))
-                    return false;
-
-                writer.incrementState();
-
-            case 1:
-                if (!writer.writeInt(cols))
-                    return false;
-
-                writer.incrementState();
-
-            case 2:
-                if (!writer.writeInt(page))
-                    return false;
-
-                writer.incrementState();
-
-            case 3:
-                if (!writer.writeInt(qry))
-                    return false;
-
-                writer.incrementState();
-
-            case 4:
-                if (!writer.writeLong(qryReqId))
-                    return false;
-
-                writer.incrementState();
-
-            case 5:
-                if (!writer.writeCollection(vals, 
MessageCollectionItemType.MSG))
-                    return false;
-
-                writer.incrementState();
-
-            case 6:
-                if (!writer.writeAffinityTopologyVersion(retry))
-                    return false;
-
-                writer.incrementState();
-
-            case 7:
-                if (!writer.writeInt(segmentId))
-                    return false;
-
-                writer.incrementState();
-
-            case 8:
-                if (!writer.writeBoolean(last))
-                    return false;
-
-                writer.incrementState();
-
-            case 9:
-                if (!writer.writeString(retryCause))
-                    return false;
-
-                writer.incrementState();
-        }
-
-        return true;
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean readFrom(ByteBuffer buf, MessageReader reader) {
-        reader.setBuffer(buf);
-
-        switch (reader.state()) {
-            case 0:
-                allRows = reader.readInt();
-
-                if (!reader.isLastRead())
-                    return false;
-
-                reader.incrementState();
-
-            case 1:
-                cols = reader.readInt();
-
-                if (!reader.isLastRead())
-                    return false;
-
-                reader.incrementState();
-
-            case 2:
-                page = reader.readInt();
-
-                if (!reader.isLastRead())
-                    return false;
-
-                reader.incrementState();
-
-            case 3:
-                qry = reader.readInt();
-
-                if (!reader.isLastRead())
-                    return false;
-
-                reader.incrementState();
-
-            case 4:
-                qryReqId = reader.readLong();
-
-                if (!reader.isLastRead())
-                    return false;
-
-                reader.incrementState();
-
-            case 5:
-                vals = reader.readCollection(MessageCollectionItemType.MSG);
-
-                if (!reader.isLastRead())
-                    return false;
-
-                reader.incrementState();
-
-            case 6:
-                retry = reader.readAffinityTopologyVersion();
-
-                if (!reader.isLastRead())
-                    return false;
-
-                reader.incrementState();
-
-            case 7:
-                segmentId = reader.readInt();
-
-                if (!reader.isLastRead())
-                    return false;
-
-                reader.incrementState();
-
-            case 8:
-                last = reader.readBoolean();
-
-                if (!reader.isLastRead())
-                    return false;
-
-                reader.incrementState();
-
-            case 9:
-                retryCause = reader.readString();
-
-                if (!reader.isLastRead())
-                    return false;
-
-                reader.incrementState();
-        }
-
-        return true;
-    }
-
     /** {@inheritDoc} */
     @Override public short directType() {
         return 109;

Reply via email to