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 540671b8ee4 IGNITE-25973 Use MessageSerializer for TransactionAttributesAwareRequest (#12313) 540671b8ee4 is described below commit 540671b8ee4ee62ef7b8f1095d531f317a89496f Author: Dmitry Werner <grimekil...@gmail.com> AuthorDate: Thu Sep 4 20:21:53 2025 +0500 IGNITE-25973 Use MessageSerializer for TransactionAttributesAwareRequest (#12313) --- .../communication/GridIoMessageFactory.java | 3 +- .../dht/TransactionAttributesAwareRequest.java | 80 ++++------------------ 2 files changed, 15 insertions(+), 68 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 df3350aa798..43bae86aba7 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 @@ -57,6 +57,7 @@ import org.apache.ignite.internal.codegen.SessionChannelMessageSerializer; import org.apache.ignite.internal.codegen.SnapshotFilesFailureMessageSerializer; import org.apache.ignite.internal.codegen.SnapshotFilesRequestMessageSerializer; import org.apache.ignite.internal.codegen.TcpInverseConnectionResponseMessageSerializer; +import org.apache.ignite.internal.codegen.TransactionAttributesAwareRequestSerializer; import org.apache.ignite.internal.codegen.TxLockSerializer; import org.apache.ignite.internal.codegen.TxLocksRequestSerializer; import org.apache.ignite.internal.codegen.TxLocksResponseSerializer; @@ -364,7 +365,7 @@ public class GridIoMessageFactory implements MessageFactoryProvider { factory.register(SnapshotFilesFailureMessage.TYPE_CODE, SnapshotFilesFailureMessage::new, new SnapshotFilesFailureMessageSerializer()); factory.register((short)180, AtomicApplicationAttributesAwareRequest::new); - factory.register((short)181, TransactionAttributesAwareRequest::new); + factory.register((short)181, TransactionAttributesAwareRequest::new, new TransactionAttributesAwareRequestSerializer()); // Incremental snapshot. factory.register(IncrementalSnapshotAwareMessage.TYPE_CODE, IncrementalSnapshotAwareMessage::new, diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/TransactionAttributesAwareRequest.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/TransactionAttributesAwareRequest.java index eeb1e19854e..7515f38d7d5 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/TransactionAttributesAwareRequest.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/TransactionAttributesAwareRequest.java @@ -17,16 +17,12 @@ package org.apache.ignite.internal.processors.cache.distributed.dht; -import java.nio.ByteBuffer; import java.util.Map; import org.apache.ignite.IgniteCheckedException; -import org.apache.ignite.internal.GridDirectMap; +import org.apache.ignite.internal.Order; import org.apache.ignite.internal.processors.cache.GridCacheMessage; import org.apache.ignite.internal.processors.cache.GridCacheSharedContext; import org.apache.ignite.internal.processors.cache.distributed.GridDistributedTxPrepareRequest; -import org.apache.ignite.plugin.extensions.communication.MessageCollectionItemType; -import org.apache.ignite.plugin.extensions.communication.MessageReader; -import org.apache.ignite.plugin.extensions.communication.MessageWriter; /** Wraps transaction prepare request with application attributes. */ public class TransactionAttributesAwareRequest extends GridCacheMessage { @@ -34,10 +30,11 @@ public class TransactionAttributesAwareRequest extends GridCacheMessage { public static final short TYPE_CODE = 181; /** Original transaction prepare message. */ + @Order(3) private GridDistributedTxPrepareRequest payload; /** Application attributes. */ - @GridDirectMap(keyType = String.class, valueType = String.class) + @Order(value = 4, method = "applicationAttributes") private Map<String, String> appAttrs; /** */ @@ -58,11 +55,21 @@ public class TransactionAttributesAwareRequest extends GridCacheMessage { return payload; } + /** @param payload Original update message. */ + public void payload(GridDistributedTxPrepareRequest payload) { + this.payload = payload; + } + /** @return Application attributes. */ public Map<String, String> applicationAttributes() { return appAttrs; } + /** @param appAttrs Application attributes. */ + public void applicationAttributes(Map<String, String> appAttrs) { + this.appAttrs = appAttrs; + } + /** {@inheritDoc} */ @Override public void prepareMarshal(GridCacheSharedContext<?, ?> ctx) throws IgniteCheckedException { payload.prepareMarshal(ctx); @@ -73,67 +80,6 @@ public class TransactionAttributesAwareRequest extends GridCacheMessage { payload.finishUnmarshal(ctx, ldr); } - /** {@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 3: - if (!writer.writeMap(appAttrs, MessageCollectionItemType.STRING, MessageCollectionItemType.STRING)) - return false; - - writer.incrementState(); - - case 4: - if (!writer.writeMessage(payload)) - return false; - - writer.incrementState(); - - } - - return true; - } - - /** {@inheritDoc} */ - @Override public boolean readFrom(ByteBuffer buf, MessageReader reader) { - reader.setBuffer(buf); - - if (!super.readFrom(buf, reader)) - return false; - - switch (reader.state()) { - case 3: - appAttrs = reader.readMap(MessageCollectionItemType.STRING, MessageCollectionItemType.STRING, false); - - if (!reader.isLastRead()) - return false; - - reader.incrementState(); - - case 4: - payload = reader.readMessage(); - - if (!reader.isLastRead()) - return false; - - reader.incrementState(); - - } - - return true; - } - /** {@inheritDoc} */ @Override public int handlerId() { return 0;