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;