This is an automated email from the ASF dual-hosted git repository.

sergeychugunov 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 3551d82ba5f IGNITE-25994 Use MessageSerializer for IgniteTxKey (#12242)
3551d82ba5f is described below

commit 3551d82ba5fe5e3e85af2632570fdcfb7c6f2763
Author: didar shayarov <[email protected]>
AuthorDate: Mon Aug 4 18:00:15 2025 +0300

    IGNITE-25994 Use MessageSerializer for IgniteTxKey (#12242)
---
 .../communication/GridIoMessageFactory.java        |  3 +-
 .../processors/cache/transactions/IgniteTxKey.java | 75 +++++-----------------
 2 files changed, 19 insertions(+), 59 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 4827e722dd9..d1fd4a42faa 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
@@ -37,6 +37,7 @@ import 
org.apache.ignite.internal.codegen.GridJobCancelRequestSerializer;
 import org.apache.ignite.internal.codegen.GridJobSiblingsRequestSerializer;
 import org.apache.ignite.internal.codegen.GridQueryKillRequestSerializer;
 import org.apache.ignite.internal.codegen.GridQueryKillResponseSerializer;
+import org.apache.ignite.internal.codegen.IgniteTxKeySerializer;
 import org.apache.ignite.internal.codegen.LatchAckMessageSerializer;
 import 
org.apache.ignite.internal.codegen.MissingMappingRequestMessageSerializer;
 import 
org.apache.ignite.internal.codegen.MissingMappingResponseMessageSerializer;
@@ -293,7 +294,7 @@ public class GridIoMessageFactory implements 
MessageFactoryProvider {
         factory.register((short)91, GridCacheEntryInfo::new, new 
GridCacheEntryInfoSerializer());
         factory.register((short)92, CacheEntryInfoCollection::new);
         factory.register((short)93, CacheInvokeDirectResult::new);
-        factory.register((short)94, IgniteTxKey::new);
+        factory.register((short)94, IgniteTxKey::new, new 
IgniteTxKeySerializer());
         factory.register((short)95, DataStreamerEntry::new);
         factory.register((short)96, CacheContinuousQueryEntry::new);
         factory.register((short)97, CacheEvictionEntry::new, new 
CacheEvictionEntrySerializer());
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxKey.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxKey.java
index f588a5f35a5..f02f8355601 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxKey.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxKey.java
@@ -17,15 +17,13 @@
 
 package org.apache.ignite.internal.processors.cache.transactions;
 
-import java.nio.ByteBuffer;
 import org.apache.ignite.IgniteCheckedException;
+import org.apache.ignite.internal.Order;
 import org.apache.ignite.internal.processors.cache.GridCacheContext;
 import org.apache.ignite.internal.processors.cache.KeyCacheObject;
 import org.apache.ignite.internal.util.tostring.GridToStringInclude;
 import org.apache.ignite.internal.util.typedef.internal.S;
 import org.apache.ignite.plugin.extensions.communication.Message;
-import org.apache.ignite.plugin.extensions.communication.MessageReader;
-import org.apache.ignite.plugin.extensions.communication.MessageWriter;
 
 /**
  * Cache transaction key. This wrapper is needed because same keys may be 
enlisted in the same transaction
@@ -33,10 +31,12 @@ import 
org.apache.ignite.plugin.extensions.communication.MessageWriter;
  */
 public class IgniteTxKey implements Message {
     /** Key. */
+    @Order(0)
     @GridToStringInclude(sensitive = true)
     private KeyCacheObject key;
 
     /** Cache ID. */
+    @Order(1)
     private int cacheId;
 
     /**
@@ -62,6 +62,13 @@ public class IgniteTxKey implements Message {
         return key;
     }
 
+    /**
+     * @param key New key.
+     */
+    public void key(KeyCacheObject key) {
+        this.key = key;
+    }
+
     /**
      * @return Cache ID.
      */
@@ -69,6 +76,13 @@ public class IgniteTxKey implements Message {
         return cacheId;
     }
 
+    /**
+     * @param cacheId New cache ID.
+     */
+    public void cacheId(int cacheId) {
+        this.cacheId = cacheId;
+    }
+
     /**
      * @param ctx Context.
      * @throws IgniteCheckedException If failed.
@@ -115,61 +129,6 @@ public class IgniteTxKey implements Message {
         return res;
     }
 
-    /** {@inheritDoc} */
-    @Override public boolean writeTo(ByteBuffer buf, MessageWriter writer) {
-        writer.setBuffer(buf);
-
-        if (!writer.isHeaderWritten()) {
-            if (!writer.writeHeader(directType()))
-                return false;
-
-            writer.onHeaderWritten();
-        }
-
-        switch (writer.state()) {
-            case 0:
-                if (!writer.writeInt(cacheId))
-                    return false;
-
-                writer.incrementState();
-
-            case 1:
-                if (!writer.writeMessage(key))
-                    return false;
-
-                writer.incrementState();
-
-        }
-
-        return true;
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean readFrom(ByteBuffer buf, MessageReader reader) {
-        reader.setBuffer(buf);
-
-        switch (reader.state()) {
-            case 0:
-                cacheId = reader.readInt();
-
-                if (!reader.isLastRead())
-                    return false;
-
-                reader.incrementState();
-
-            case 1:
-                key = reader.readMessage();
-
-                if (!reader.isLastRead())
-                    return false;
-
-                reader.incrementState();
-
-        }
-
-        return true;
-    }
-
     /** {@inheritDoc} */
     @Override public short directType() {
         return 94;

Reply via email to