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 2f1c59a3fcc IGNITE-25975 Use MessageSerializer for 
GridQueryNextPageRequest (#12250)
2f1c59a3fcc is described below

commit 2f1c59a3fcc8db83034c9c4719afc0298f10de2c
Author: Dmitry Werner <[email protected]>
AuthorDate: Wed Aug 13 12:11:00 2025 +0500

    IGNITE-25975 Use MessageSerializer for GridQueryNextPageRequest (#12250)
---
 .../communication/GridIoMessageFactory.java        |   3 +-
 .../twostep/messages/GridQueryNextPageRequest.java | 143 ++++++---------------
 .../query/h2/twostep/GridMapQueryExecutor.java     |   2 +-
 3 files changed, 45 insertions(+), 103 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 be0306c7750..0488df96c17 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
@@ -37,6 +37,7 @@ import 
org.apache.ignite.internal.codegen.GridJobCancelRequestSerializer;
 import org.apache.ignite.internal.codegen.GridJobSiblingsRequestSerializer;
 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.GridTaskResultRequestSerializer;
 import org.apache.ignite.internal.codegen.IgniteTxKeySerializer;
 import org.apache.ignite.internal.codegen.JobStealingRequestSerializer;
@@ -310,7 +311,7 @@ public class GridIoMessageFactory implements 
MessageFactoryProvider {
         factory.register((short)105, CacheObjectByteArrayImpl::new);
         factory.register((short)106, GridQueryCancelRequest::new);
         factory.register((short)107, GridQueryFailResponse::new);
-        factory.register((short)108, GridQueryNextPageRequest::new);
+        factory.register((short)108, GridQueryNextPageRequest::new, new 
GridQueryNextPageRequestSerializer());
         factory.register((short)109, GridQueryNextPageResponse::new);
         factory.register((short)112, GridCacheSqlQuery::new);
         // 113 - BinaryObjectImpl
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/messages/GridQueryNextPageRequest.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/messages/GridQueryNextPageRequest.java
index 4bee7892c67..3ecf14ec145 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/messages/GridQueryNextPageRequest.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/messages/GridQueryNextPageRequest.java
@@ -17,29 +17,32 @@
 
 package org.apache.ignite.internal.processors.query.h2.twostep.messages;
 
-import java.nio.ByteBuffer;
+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;
 
 /**
  * Request to fetch next page.
  */
 public class GridQueryNextPageRequest 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 pageSize;
 
     /** */
+    @Order(4)
     private byte flags;
 
     /**
@@ -67,10 +70,17 @@ public class GridQueryNextPageRequest implements Message {
     /**
      * @return Flags.
      */
-    public byte getFlags() {
+    public byte flags() {
         return flags;
     }
 
+    /**
+     * @param flags New flags.
+     */
+    public void flags(byte flags) {
+        this.flags = flags;
+    }
+
     /**
      * @return Query request ID.
      */
@@ -78,6 +88,13 @@ public class GridQueryNextPageRequest implements Message {
         return qryReqId;
     }
 
+    /**
+     * @param qryReqId New query request ID.
+     */
+    public void queryRequestId(long qryReqId) {
+        this.qryReqId = qryReqId;
+    }
+
     /**
      * @return Query.
      */
@@ -85,11 +102,25 @@ public class GridQueryNextPageRequest implements Message {
         return qry;
     }
 
+    /**
+     * @param qry New query.
+     */
+    public void query(int qry) {
+        this.qry = qry;
+    }
+
     /** @return Index segment ID */
     public int segmentId() {
         return segmentId;
     }
 
+    /**
+     * @param segmentId New index segment ID.
+     */
+    public void segmentId(int segmentId) {
+        this.segmentId = segmentId;
+    }
+
     /**
      * @return Page size.
      */
@@ -97,6 +128,13 @@ public class GridQueryNextPageRequest implements Message {
         return pageSize;
     }
 
+    /**
+     * @param pageSize New page size.
+     */
+    public void pageSize(int pageSize) {
+        this.pageSize = pageSize;
+    }
+
     /** {@inheritDoc} */
     @Override public String toString() {
         return S.toString(GridQueryNextPageRequest.class, this);
@@ -107,103 +145,6 @@ public class GridQueryNextPageRequest implements Message {
         // 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.writeByte(flags))
-                    return false;
-
-                writer.incrementState();
-
-            case 1:
-                if (!writer.writeInt(pageSize))
-                    return false;
-
-                writer.incrementState();
-
-            case 2:
-                if (!writer.writeInt(qry))
-                    return false;
-
-                writer.incrementState();
-
-            case 3:
-                if (!writer.writeLong(qryReqId))
-                    return false;
-
-                writer.incrementState();
-
-            case 4:
-                if (!writer.writeInt(segmentId))
-                    return false;
-
-                writer.incrementState();
-
-        }
-
-        return true;
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean readFrom(ByteBuffer buf, MessageReader reader) {
-        reader.setBuffer(buf);
-
-        switch (reader.state()) {
-            case 0:
-                flags = reader.readByte();
-
-                if (!reader.isLastRead())
-                    return false;
-
-                reader.incrementState();
-
-            case 1:
-                pageSize = reader.readInt();
-
-                if (!reader.isLastRead())
-                    return false;
-
-                reader.incrementState();
-
-            case 2:
-                qry = reader.readInt();
-
-                if (!reader.isLastRead())
-                    return false;
-
-                reader.incrementState();
-
-            case 3:
-                qryReqId = reader.readLong();
-
-                if (!reader.isLastRead())
-                    return false;
-
-                reader.incrementState();
-
-            case 4:
-                segmentId = reader.readInt();
-
-                if (!reader.isLastRead())
-                    return false;
-
-                reader.incrementState();
-
-        }
-
-        return true;
-    }
-
     /** {@inheritDoc} */
     @Override public short directType() {
         return 108;
diff --git 
a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridMapQueryExecutor.java
 
b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridMapQueryExecutor.java
index 47d3000acf0..e08b9a2be51 100644
--- 
a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridMapQueryExecutor.java
+++ 
b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridMapQueryExecutor.java
@@ -899,7 +899,7 @@ public class GridMapQueryExecutor {
                         res.lockTables();
                         res.checkTablesVersions();
 
-                        Boolean dataPageScanEnabled = 
isDataPageScanEnabled(req.getFlags());
+                        Boolean dataPageScanEnabled = 
isDataPageScanEnabled(req.flags());
 
                         GridQueryNextPageResponse msg = 
h2.executeWithResumableTimeTracking(
                             () -> prepareNextPage(

Reply via email to