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(