This is an automated email from the ASF dual-hosted git repository.
shishkovilja 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 3ff34608804 IGNITE-25964 Use MessageSerializer for
GridCacheGroupIdMessage (#12325)
3ff34608804 is described below
commit 3ff346088048f2c1463dcc0c3639d7d607be296b
Author: Denis <[email protected]>
AuthorDate: Fri Sep 19 16:30:22 2025 +1000
IGNITE-25964 Use MessageSerializer for GridCacheGroupIdMessage (#12325)
---
.../communication/GridIoMessageFactory.java | 3 +-
.../processors/cache/GridCacheGroupIdMessage.java | 11 +++
.../dht/GridDhtAffinityAssignmentRequest.java | 110 ++++++---------------
3 files changed, 45 insertions(+), 79 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 3f0d245b619..26eb674fec1 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
@@ -35,6 +35,7 @@ import
org.apache.ignite.internal.codegen.GridCacheVersionExSerializer;
import org.apache.ignite.internal.codegen.GridCacheVersionSerializer;
import org.apache.ignite.internal.codegen.GridCheckpointRequestSerializer;
import org.apache.ignite.internal.codegen.GridDeploymentResponseSerializer;
+import
org.apache.ignite.internal.codegen.GridDhtAffinityAssignmentRequestSerializer;
import org.apache.ignite.internal.codegen.GridDhtPartitionExchangeIdSerializer;
import
org.apache.ignite.internal.codegen.GridDhtPartitionsSingleRequestSerializer;
import
org.apache.ignite.internal.codegen.GridDhtTxOnePhaseCommitAckRequestSerializer;
@@ -265,7 +266,7 @@ public class GridIoMessageFactory implements
MessageFactoryProvider {
factory.register((short)25, GridDistributedTxPrepareRequest::new, new
GridDistributedTxPrepareRequestSerializer());
factory.register((short)26, GridDistributedTxPrepareResponse::new);
factory.register((short)27, GridDistributedUnlockRequest::new);
- factory.register((short)28, GridDhtAffinityAssignmentRequest::new);
+ factory.register((short)28, GridDhtAffinityAssignmentRequest::new, new
GridDhtAffinityAssignmentRequestSerializer());
factory.register((short)29, GridDhtAffinityAssignmentResponse::new);
factory.register((short)30, GridDhtLockRequest::new);
factory.register((short)31, GridDhtLockResponse::new);
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheGroupIdMessage.java
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheGroupIdMessage.java
index cbadda76a8a..114b1982e5e 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheGroupIdMessage.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheGroupIdMessage.java
@@ -18,6 +18,7 @@
package org.apache.ignite.internal.processors.cache;
import java.nio.ByteBuffer;
+import org.apache.ignite.internal.Order;
import org.apache.ignite.internal.util.tostring.GridToStringInclude;
import org.apache.ignite.internal.util.typedef.internal.S;
import org.apache.ignite.plugin.extensions.communication.MessageReader;
@@ -29,6 +30,7 @@ import
org.apache.ignite.plugin.extensions.communication.MessageWriter;
public abstract class GridCacheGroupIdMessage extends GridCacheMessage {
/** Cache group ID. */
@GridToStringInclude
+ @Order(value = 3, method = "groupId")
protected int grpId;
/**
@@ -38,6 +40,13 @@ public abstract class GridCacheGroupIdMessage extends
GridCacheMessage {
return grpId;
}
+ /**
+ * @param grpId Cache group ID.
+ */
+ public void groupId(int grpId) {
+ this.grpId = grpId;
+ }
+
/** {@inheritDoc} */
@Override public boolean cacheGroupMessage() {
return true;
@@ -50,6 +59,7 @@ public abstract class GridCacheGroupIdMessage extends
GridCacheMessage {
/** {@inheritDoc} */
@Override public boolean writeTo(ByteBuffer buf, MessageWriter writer) {
+ // TODO: Safe to remove only after all inheritors have migrated to the
new ser/der scheme (IGNITE-25490).
writer.setBuffer(buf);
if (!super.writeTo(buf, writer))
@@ -76,6 +86,7 @@ public abstract class GridCacheGroupIdMessage extends
GridCacheMessage {
/** {@inheritDoc} */
@Override public boolean readFrom(ByteBuffer buf, MessageReader reader) {
+ // TODO: Safe to remove only after all inheritors have migrated to the
new ser/der scheme (IGNITE-25490).
reader.setBuffer(buf);
if (!super.readFrom(buf, reader))
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtAffinityAssignmentRequest.java
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtAffinityAssignmentRequest.java
index c45be01654a..ae3f39fce4b 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtAffinityAssignmentRequest.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtAffinityAssignmentRequest.java
@@ -17,12 +17,10 @@
package org.apache.ignite.internal.processors.cache.distributed.dht;
-import java.nio.ByteBuffer;
+import org.apache.ignite.internal.Order;
import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion;
import org.apache.ignite.internal.processors.cache.GridCacheGroupIdMessage;
import org.apache.ignite.internal.util.typedef.internal.S;
-import org.apache.ignite.plugin.extensions.communication.MessageReader;
-import org.apache.ignite.plugin.extensions.communication.MessageWriter;
/**
* Affinity assignment request.
@@ -32,12 +30,15 @@ public class GridDhtAffinityAssignmentRequest extends
GridCacheGroupIdMessage {
private static final int SND_PART_STATE_MASK = 0x01;
/** */
+ @Order(4)
private byte flags;
/** */
+ @Order(value = 5, method = "futureId")
private long futId;
/** Topology version being queried. */
+ @Order(value = 6, method = "topologyVersion")
private AffinityTopologyVersion topVer;
/**
@@ -68,6 +69,20 @@ public class GridDhtAffinityAssignmentRequest extends
GridCacheGroupIdMessage {
flags |= SND_PART_STATE_MASK;
}
+ /**
+ * @return Flags.
+ */
+ public byte flags() {
+ return flags;
+ }
+
+ /**
+ * @param flags Flags.
+ */
+ public void flags(byte flags) {
+ this.flags = flags;
+ }
+
/**
* @return {@code True} if need send in response cache partitions state.
*/
@@ -82,6 +97,13 @@ public class GridDhtAffinityAssignmentRequest extends
GridCacheGroupIdMessage {
return futId;
}
+ /**
+ * @param futId Future ID.
+ */
+ public void futureId(long futId) {
+ this.futId = futId;
+ }
+
/** {@inheritDoc} */
@Override public boolean addDeploymentInfo() {
return false;
@@ -99,84 +121,16 @@ public class GridDhtAffinityAssignmentRequest extends
GridCacheGroupIdMessage {
return topVer;
}
- /** {@inheritDoc} */
- @Override public short directType() {
- return 28;
- }
-
- /** {@inheritDoc} */
- @Override public boolean writeTo(ByteBuffer buf, MessageWriter writer) {
- writer.setBuffer(buf);
-
- if (!super.writeTo(buf, writer))
- return false;
-
- if (!writer.isHeaderWritten()) {
- if (!writer.writeHeader(directType()))
- return false;
-
- writer.onHeaderWritten();
- }
-
- switch (writer.state()) {
- case 4:
- if (!writer.writeByte(flags))
- return false;
-
- writer.incrementState();
-
- case 5:
- if (!writer.writeLong(futId))
- return false;
-
- writer.incrementState();
-
- case 6:
- if (!writer.writeAffinityTopologyVersion(topVer))
- return false;
-
- writer.incrementState();
-
- }
-
- return true;
+ /**
+ * @param topVer Requested topology version.
+ */
+ public void topologyVersion(AffinityTopologyVersion topVer) {
+ this.topVer = topVer;
}
/** {@inheritDoc} */
- @Override public boolean readFrom(ByteBuffer buf, MessageReader reader) {
- reader.setBuffer(buf);
-
- if (!super.readFrom(buf, reader))
- return false;
-
- switch (reader.state()) {
- case 4:
- flags = reader.readByte();
-
- if (!reader.isLastRead())
- return false;
-
- reader.incrementState();
-
- case 5:
- futId = reader.readLong();
-
- if (!reader.isLastRead())
- return false;
-
- reader.incrementState();
-
- case 6:
- topVer = reader.readAffinityTopologyVersion();
-
- if (!reader.isLastRead())
- return false;
-
- reader.incrementState();
-
- }
-
- return true;
+ @Override public short directType() {
+ return 28;
}
/** {@inheritDoc} */