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 318fdc6bee4 IGNITE-28514 Use MessageSerializer for 
TransactionsHashRecord (#13129)
318fdc6bee4 is described below

commit 318fdc6bee4fe3d03678ec5d377391b6544b88ca
Author: Vladimir Steshin <[email protected]>
AuthorDate: Fri May 15 12:16:49 2026 +0300

    IGNITE-28514 Use MessageSerializer for TransactionsHashRecord (#13129)
---
 .../ignite/internal/CoreMessagesProvider.java      |  4 ++-
 .../snapshot/IncrementalSnapshotVerifyResult.java  | 33 +++-------------------
 .../cache/verify/TransactionsHashRecord.java       | 30 +++++++++++++++++---
 3 files changed, 33 insertions(+), 34 deletions(-)

diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/CoreMessagesProvider.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/CoreMessagesProvider.java
index 836e36254e1..f1f7883ea19 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/CoreMessagesProvider.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/CoreMessagesProvider.java
@@ -172,6 +172,7 @@ import 
org.apache.ignite.internal.processors.cache.transactions.TxLock;
 import org.apache.ignite.internal.processors.cache.transactions.TxLocksRequest;
 import 
org.apache.ignite.internal.processors.cache.transactions.TxLocksResponse;
 import org.apache.ignite.internal.processors.cache.verify.PartitionHashRecord;
+import 
org.apache.ignite.internal.processors.cache.verify.TransactionsHashRecord;
 import 
org.apache.ignite.internal.processors.cache.version.GridCacheRawVersionedEntry;
 import org.apache.ignite.internal.processors.cache.version.GridCacheVersion;
 import org.apache.ignite.internal.processors.cache.version.GridCacheVersionEx;
@@ -538,7 +539,6 @@ public class CoreMessagesProvider extends 
AbstractMarshallableMessageFactoryProv
         withNoSchema(GridDhtPartitionsSingleMessage.class);
         withNoSchema(GridDhtPartitionsSingleRequest.class);
         withNoSchema(PartitionKey.class);
-        withNoSchema(PartitionHashRecord.class);
 
         // [10900-11100]: Query, schema and SQL related messages.
         msgIdx = 10900;
@@ -656,6 +656,8 @@ public class CoreMessagesProvider extends 
AbstractMarshallableMessageFactoryProv
         withNoSchema(WalStateAckMessage.class);
         withNoSchema(CacheConfigurationEnrichment.class);
         withNoSchemaResolvedClassLoader(DynamicCacheChangeRequest.class);
+        withNoSchema(PartitionHashRecord.class);
+        withNoSchema(TransactionsHashRecord.class);
 
         assert msgIdx <= MAX_MESSAGE_ID;
     }
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/IncrementalSnapshotVerifyResult.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/IncrementalSnapshotVerifyResult.java
index 8f4f6a8f241..641e123ffff 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/IncrementalSnapshotVerifyResult.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/IncrementalSnapshotVerifyResult.java
@@ -18,8 +18,6 @@
 package org.apache.ignite.internal.processors.cache.persistence.snapshot;
 
 import java.util.Collection;
-import org.apache.ignite.IgniteCheckedException;
-import org.apache.ignite.internal.MarshallableMessage;
 import org.apache.ignite.internal.Order;
 import org.apache.ignite.internal.managers.communication.ErrorMessage;
 import org.apache.ignite.internal.pagemem.wal.record.DataEntry;
@@ -27,28 +25,21 @@ import 
org.apache.ignite.internal.processors.cache.verify.PartitionHashRecord;
 import 
org.apache.ignite.internal.processors.cache.verify.TransactionsHashRecord;
 import org.apache.ignite.internal.processors.cache.version.GridCacheVersion;
 import org.apache.ignite.internal.util.typedef.F;
-import org.apache.ignite.internal.util.typedef.internal.U;
-import org.apache.ignite.marshaller.Marshaller;
+import org.apache.ignite.plugin.extensions.communication.Message;
 import org.apache.ignite.plugin.extensions.communication.MessageFactory;
 
 /** */
-public class IncrementalSnapshotVerifyResult implements MarshallableMessage {
+public class IncrementalSnapshotVerifyResult implements Message {
     /** Transaction hashes collection. */
-    private Collection<TransactionsHashRecord> txHashRes;
-
-    /** */
     @Order(0)
-    byte[] txHashResBytes;
+    Collection<TransactionsHashRecord> txHashRes;
 
     /**
      * Partition hashes collection. Value is a hash of data entries {@link 
DataEntry} from WAL segments included
      * into the incremental snapshot.
      */
-    private Collection<PartitionHashRecord> partHashRes;
-
-    /** */
     @Order(1)
-    byte[] partHashResBytes;
+    Collection<PartitionHashRecord> partHashRes;
 
     /** Partially committed transactions' collection. */
     @Order(2)
@@ -90,20 +81,4 @@ public class IncrementalSnapshotVerifyResult implements 
MarshallableMessage {
     public Collection<GridCacheVersion> partiallyCommittedTxs() {
         return partiallyCommittedTxs;
     }
-
-    /** {@inheritDoc} */
-    @Override public void prepareMarshal(Marshaller marsh) throws 
IgniteCheckedException {
-        txHashResBytes = U.marshal(marsh, txHashRes);
-        partHashResBytes = U.marshal(marsh, partHashRes);
-    }
-
-    /** {@inheritDoc} */
-    @Override public void finishUnmarshal(Marshaller marsh, ClassLoader 
clsLdr) throws IgniteCheckedException {
-        if (txHashResBytes != null)
-            txHashRes = U.unmarshal(marsh, txHashResBytes, clsLdr);
-
-        if (partHashResBytes != null)
-            partHashRes = U.unmarshal(marsh, partHashResBytes, clsLdr);
-    }
-
 }
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/verify/TransactionsHashRecord.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/verify/TransactionsHashRecord.java
index d3ae366feaa..38bd0853778 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/verify/TransactionsHashRecord.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/verify/TransactionsHashRecord.java
@@ -17,26 +17,36 @@
 
 package org.apache.ignite.internal.processors.cache.verify;
 
+import java.io.Serializable;
+import org.apache.ignite.IgniteCheckedException;
+import org.apache.ignite.internal.MarshallableMessage;
 import org.apache.ignite.internal.Order;
-import org.apache.ignite.internal.dto.IgniteDataTransferObject;
 import org.apache.ignite.internal.util.tostring.GridToStringInclude;
 import org.apache.ignite.internal.util.typedef.internal.S;
+import org.apache.ignite.internal.util.typedef.internal.U;
+import org.apache.ignite.marshaller.Marshaller;
 
 /** Represents committed transactions hash for a pair of nodes. */
-public class TransactionsHashRecord extends IgniteDataTransferObject {
+public class TransactionsHashRecord implements MarshallableMessage, 
Serializable {
     /** */
     private static final long serialVersionUID = 0L;
 
     /** Consistent ID of local node that participated in the transaction. This 
node produces this record. */
-    @Order(0)
     @GridToStringInclude
     Object locConsistentId;
 
+    /** Bytes of {@link #locConsistentId}. */
+    @Order(0)
+    transient byte[] locConsistentIdBytes;
+
     /** Consistent ID of remote node that participated in the transactions. */
-    @Order(1)
     @GridToStringInclude
     Object rmtConsistentId;
 
+    /** Bytes of {@link #rmtConsistentId}. */
+    @Order(1)
+    transient byte[] rmtConsistentIdBytes;
+
     /** Committed transactions IDs hash. */
     @Order(2)
     @GridToStringInclude
@@ -54,6 +64,18 @@ public class TransactionsHashRecord extends 
IgniteDataTransferObject {
         this.txHash = txHash;
     }
 
+    /** {@inheritDoc} */
+    @Override public void prepareMarshal(Marshaller marsh) throws 
IgniteCheckedException {
+        locConsistentIdBytes = U.marshal(marsh, locConsistentId);
+        rmtConsistentIdBytes = U.marshal(marsh, rmtConsistentId);
+    }
+
+    /** {@inheritDoc} */
+    @Override public void finishUnmarshal(Marshaller marsh, ClassLoader 
clsLdr) throws IgniteCheckedException {
+        locConsistentId = U.unmarshal(marsh, locConsistentIdBytes, clsLdr);
+        rmtConsistentId = U.unmarshal(marsh, rmtConsistentIdBytes, clsLdr);
+    }
+
     /** @return Committed transactions IDs hash. */
     public int transactionHash() {
         return txHash;

Reply via email to