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;