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 <[email protected]>
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;