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 a686b8ebbb8 IGNITE-26399 Use MessageSerializer for AtomicApplicationAttributesAwareRequest (#12326) a686b8ebbb8 is described below commit a686b8ebbb8052b9974ccb80f5c1501125d1b7ee Author: Dmitry Werner <grimekil...@gmail.com> AuthorDate: Fri Sep 19 17:09:35 2025 +0500 IGNITE-26399 Use MessageSerializer for AtomicApplicationAttributesAwareRequest (#12326) --- .../communication/GridIoMessageFactory.java | 3 +- .../AtomicApplicationAttributesAwareRequest.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 26eb674fec1..74275da5382 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 @@ -25,6 +25,7 @@ import org.apache.ignite.internal.GridJobSiblingsResponse; import org.apache.ignite.internal.GridTaskCancelRequest; import org.apache.ignite.internal.GridTaskSessionRequest; import org.apache.ignite.internal.IgniteDiagnosticMessage; +import org.apache.ignite.internal.codegen.AtomicApplicationAttributesAwareRequestSerializer; import org.apache.ignite.internal.codegen.CacheEvictionEntrySerializer; import org.apache.ignite.internal.codegen.CacheGroupAffinityMessageSerializer; import org.apache.ignite.internal.codegen.CacheVersionedValueSerializer; @@ -366,7 +367,7 @@ public class GridIoMessageFactory implements MessageFactoryProvider { new SnapshotFilesRequestMessageSerializer()); factory.register(SnapshotFilesFailureMessage.TYPE_CODE, SnapshotFilesFailureMessage::new, new SnapshotFilesFailureMessageSerializer()); - factory.register((short)180, AtomicApplicationAttributesAwareRequest::new); + factory.register((short)180, AtomicApplicationAttributesAwareRequest::new, new AtomicApplicationAttributesAwareRequestSerializer()); factory.register((short)181, TransactionAttributesAwareRequest::new, new TransactionAttributesAwareRequestSerializer()); // Incremental snapshot. diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/AtomicApplicationAttributesAwareRequest.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/AtomicApplicationAttributesAwareRequest.java index 91154fee573..3e95da81011 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/AtomicApplicationAttributesAwareRequest.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/AtomicApplicationAttributesAwareRequest.java @@ -17,15 +17,11 @@ package org.apache.ignite.internal.processors.cache.distributed.dht.atomic; -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.GridCacheIdMessage; import org.apache.ignite.internal.processors.cache.GridCacheSharedContext; -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 atomic updates with application attributes. */ public class AtomicApplicationAttributesAwareRequest extends GridCacheIdMessage { @@ -33,10 +29,11 @@ public class AtomicApplicationAttributesAwareRequest extends GridCacheIdMessage public static final short TYPE_CODE = 180; /** Original update message. */ + @Order(4) private GridNearAtomicAbstractUpdateRequest payload; /** Application attributes. */ - @GridDirectMap(keyType = String.class, valueType = String.class) + @Order(value = 5, method = "applicationAttributes") private Map<String, String> appAttrs; /** */ @@ -58,11 +55,21 @@ public class AtomicApplicationAttributesAwareRequest extends GridCacheIdMessage return payload; } + /** @param payload Original update message. */ + public void payload(GridNearAtomicAbstractUpdateRequest 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 AtomicApplicationAttributesAwareRequest extends GridCacheIdMessage 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 4: - if (!writer.writeMap(appAttrs, MessageCollectionItemType.STRING, MessageCollectionItemType.STRING)) - return false; - - writer.incrementState(); - - case 5: - 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 4: - appAttrs = reader.readMap(MessageCollectionItemType.STRING, MessageCollectionItemType.STRING, false); - - if (!reader.isLastRead()) - return false; - - reader.incrementState(); - - case 5: - payload = reader.readMessage(); - - if (!reader.isLastRead()) - return false; - - reader.incrementState(); - - } - - return true; - } - /** {@inheritDoc} */ @Override public boolean addDeploymentInfo() { return false;