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 f868fb937d6 IGNITE-27830 Get rid of external serialization in
GridDhtAffinityAssignmentResponse (#13007)
f868fb937d6 is described below
commit f868fb937d65652a9d3d99835fea85b7b56a0f0f
Author: Dmitry Werner <[email protected]>
AuthorDate: Tue Apr 14 19:14:27 2026 +0500
IGNITE-27830 Get rid of external serialization in
GridDhtAffinityAssignmentResponse (#13007)
---
.../dht/GridDhtAffinityAssignmentResponse.java | 124 ++-------------------
1 file changed, 10 insertions(+), 114 deletions(-)
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtAffinityAssignmentResponse.java
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtAffinityAssignmentResponse.java
index 1b26e288f9c..37d921638de 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtAffinityAssignmentResponse.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtAffinityAssignmentResponse.java
@@ -22,14 +22,14 @@ import java.util.List;
import java.util.UUID;
import org.apache.ignite.IgniteCheckedException;
import org.apache.ignite.cluster.ClusterNode;
+import org.apache.ignite.internal.Compress;
import org.apache.ignite.internal.Order;
+import org.apache.ignite.internal.managers.communication.ErrorMessage;
import org.apache.ignite.internal.managers.discovery.DiscoCache;
import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion;
import org.apache.ignite.internal.processors.cache.GridCacheGroupIdMessage;
-import org.apache.ignite.internal.processors.cache.GridCacheSharedContext;
import
org.apache.ignite.internal.processors.cache.distributed.dht.preloader.GridDhtPartitionFullMap;
import org.apache.ignite.internal.util.typedef.internal.S;
-import org.apache.ignite.internal.util.typedef.internal.U;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -45,33 +45,22 @@ public class GridDhtAffinityAssignmentResponse extends
GridCacheGroupIdMessage {
@Order(1)
AffinityTopologyVersion topVer;
- /** */
- private List<List<UUID>> affAssignmentIds;
-
/** */
@Order(2)
- byte[] affAssignmentIdsBytes;
+ List<List<UUID>> affAssignmentIds;
/** */
- private List<List<UUID>> idealAffAssignment;
-
- /** Affinity assignment bytes. */
@Order(3)
- byte[] idealAffAssignmentBytes;
-
- /** */
- private GridDhtPartitionFullMap partMap;
+ List<List<UUID>> idealAffAssignment;
/** */
@Order(4)
- byte[] partBytes;
+ @Compress
+ GridDhtPartitionFullMap partMap;
/** Indicates that getting required affinity assignments has been failed.
*/
- private IgniteCheckedException affAssignmentErr;
-
- /** Serialized error. */
@Order(5)
- byte[] affAssignmentErrBytes;
+ ErrorMessage affAssignmentErrMsg;
/**
* Empty constructor.
@@ -98,11 +87,6 @@ public class GridDhtAffinityAssignmentResponse extends
GridCacheGroupIdMessage {
affAssignmentIds = ids(affAssignment);
}
- /** */
- public void futureId(long futId) {
- this.futId = futId;
- }
-
/**
* @return Future ID.
*/
@@ -115,11 +99,6 @@ public class GridDhtAffinityAssignmentResponse extends
GridCacheGroupIdMessage {
return true;
}
- /** */
- public void topologyVersion(AffinityTopologyVersion topVer) {
- this.topVer = topVer;
- }
-
/**
* @return Topology version.
*/
@@ -197,46 +176,6 @@ public class GridDhtAffinityAssignmentResponse extends
GridCacheGroupIdMessage {
return partMap;
}
- /** */
- public byte[] affinityAssignmentIdsBytes() {
- return affAssignmentIdsBytes;
- }
-
- /** */
- public void affinityAssignmentIdsBytes(byte[] affAssignmentIdsBytes) {
- this.affAssignmentIdsBytes = affAssignmentIdsBytes;
- }
-
- /** */
- public byte[] idealAffinityAssignmentsBytes() {
- return idealAffAssignmentBytes;
- }
-
- /** */
- public void idealAffinityAssignmentsBytes(byte[] idealAffAssignmentBytes) {
- this.idealAffAssignmentBytes = idealAffAssignmentBytes;
- }
-
- /** */
- public byte[] partitionBytes() {
- return partBytes;
- }
-
- /** */
- public void partitionBytes(byte[] partBytes) {
- this.partBytes = partBytes;
- }
-
- /** */
- public byte[] affinityAssignmentsErrorBytes() {
- return affAssignmentErrBytes;
- }
-
- /** */
- public void affinityAssignmentsErrorBytes(byte[] affAssignmentErrBytes) {
- this.affAssignmentErrBytes = affAssignmentErrBytes;
- }
-
/**
* @param assignments Assignment.
* @return Assignment where cluster nodes are converted to their ids.
@@ -261,63 +200,20 @@ public class GridDhtAffinityAssignmentResponse extends
GridCacheGroupIdMessage {
return null;
}
-
- /**
- * @param ctx Context.
- */
- @Override public void prepareMarshal(GridCacheSharedContext ctx) throws
IgniteCheckedException {
- super.prepareMarshal(ctx);
-
- assert affAssignmentIds != null;
-
- affAssignmentIdsBytes = U.marshal(ctx, affAssignmentIds);
-
- if (idealAffAssignment != null && idealAffAssignmentBytes == null)
- idealAffAssignmentBytes = U.marshal(ctx, idealAffAssignment);
-
- if (partMap != null && partBytes == null)
- partBytes = U.zip(U.marshal(ctx.marshaller(), partMap));
-
- if (affAssignmentErr != null && affAssignmentErrBytes == null)
- affAssignmentErrBytes = U.marshal(ctx, affAssignmentErr);
- }
-
- /** {@inheritDoc} */
- @Override public void finishUnmarshal(GridCacheSharedContext ctx,
ClassLoader ldr) throws IgniteCheckedException {
- super.finishUnmarshal(ctx, ldr);
-
- assert affAssignmentIdsBytes != null;
-
- ldr = U.resolveClassLoader(ldr, ctx.gridConfig());
-
- affAssignmentIds = U.unmarshal(ctx, affAssignmentIdsBytes, ldr);
-
- if (idealAffAssignmentBytes != null && idealAffAssignment == null)
- idealAffAssignment = U.unmarshal(ctx, idealAffAssignmentBytes,
ldr);
-
- if (partBytes != null && partMap == null)
- partMap = U.unmarshalZip(ctx.marshaller(), partBytes,
U.resolveClassLoader(ldr, ctx.gridConfig()));
-
- if (affAssignmentErrBytes != null && affAssignmentErr == null)
- affAssignmentErr = U.unmarshal(ctx, affAssignmentErrBytes,
U.resolveClassLoader(ldr, ctx.gridConfig()));
- }
-
/**
* Error that caused failure to get affinity assignments.
*
* @param err Cause of failure to calculate/get affiniti assignments.
*/
public void affinityAssignmentsError(IgniteCheckedException err) {
- affAssignmentErr = err;
+ affAssignmentErrMsg = new ErrorMessage(err);
}
/**
- * Returns error that caused failure to get affinity assignments.
- *
* @return Error that caused failure to get affinity assignments.
*/
- public IgniteCheckedException affinityAssignmentsError() {
- return affAssignmentErr;
+ public @Nullable Throwable affinityAssignmentsError() {
+ return ErrorMessage.error(affAssignmentErrMsg);
}
/** {@inheritDoc} */