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 0944fc9eb3c IGNITE-25992 Use MessageSerializer for GridCacheVersion 
and GridCacheVersionEx (#12215)
0944fc9eb3c is described below

commit 0944fc9eb3c9e37bb54fdd5da7b57cffa0e7fc2d
Author: Ilya Shishkov <[email protected]>
AuthorDate: Fri Jul 25 17:17:51 2025 +0300

    IGNITE-25992 Use MessageSerializer for GridCacheVersion and 
GridCacheVersionEx (#12215)
---
 .../communication/GridIoMessageFactory.java        |  6 +-
 .../processors/cache/version/GridCacheVersion.java | 97 ++++++----------------
 .../cache/version/GridCacheVersionEx.java          | 59 ++-----------
 3 files changed, 38 insertions(+), 124 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 0baf550c7fd..bb067029de1 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
@@ -27,6 +27,8 @@ import org.apache.ignite.internal.GridTaskSessionRequest;
 import org.apache.ignite.internal.IgniteDiagnosticMessage;
 import org.apache.ignite.internal.binary.BinaryUtils;
 import org.apache.ignite.internal.codegen.GridCacheEntryInfoSerializer;
+import org.apache.ignite.internal.codegen.GridCacheVersionExSerializer;
+import org.apache.ignite.internal.codegen.GridCacheVersionSerializer;
 import org.apache.ignite.internal.codegen.GridIntListSerializer;
 import org.apache.ignite.internal.codegen.GridJobCancelRequestSerializer;
 import org.apache.ignite.internal.codegen.GridQueryKillRequestSerializer;
@@ -276,7 +278,7 @@ public class GridIoMessageFactory implements 
MessageFactoryProvider {
         factory.register((short)82, JobStealingRequest::new);
         factory.register((short)84, GridByteArrayList::new);
         factory.register((short)85, GridLongList::new);
-        factory.register((short)86, GridCacheVersion::new);
+        factory.register((short)86, GridCacheVersion::new, new 
GridCacheVersionSerializer());
         factory.register((short)87, GridDhtPartitionExchangeId::new);
         factory.register((short)88, GridCacheReturn::new);
         factory.register((short)89, CacheObjectImpl::new);
@@ -294,7 +296,7 @@ public class GridIoMessageFactory implements 
MessageFactoryProvider {
         factory.register((short)101, TxEntryValueHolder::new);
         factory.register((short)102, CacheVersionedValue::new);
         factory.register((short)103, GridCacheRawVersionedEntry::new);
-        factory.register((short)104, GridCacheVersionEx::new);
+        factory.register((short)104, GridCacheVersionEx::new, new 
GridCacheVersionExSerializer());
         factory.register((short)105, CacheObjectByteArrayImpl::new);
         factory.register((short)106, GridQueryCancelRequest::new);
         factory.register((short)107, GridQueryFailResponse::new);
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/version/GridCacheVersion.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/version/GridCacheVersion.java
index cddf1d3ab6b..4e84f901d62 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/version/GridCacheVersion.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/version/GridCacheVersion.java
@@ -21,13 +21,11 @@ import java.io.Externalizable;
 import java.io.IOException;
 import java.io.ObjectInput;
 import java.io.ObjectOutput;
-import java.nio.ByteBuffer;
 import java.util.UUID;
 import org.apache.ignite.cache.CacheEntryVersion;
+import org.apache.ignite.internal.Order;
 import org.apache.ignite.lang.IgniteUuid;
 import org.apache.ignite.plugin.extensions.communication.Message;
-import org.apache.ignite.plugin.extensions.communication.MessageReader;
-import org.apache.ignite.plugin.extensions.communication.MessageWriter;
 
 /**
  * Grid unique version.
@@ -46,12 +44,15 @@ public class GridCacheVersion implements Message, 
Externalizable, CacheEntryVers
     private static final int DR_ID_MASK = 0x1F;
 
     /** Topology version. */
+    @Order(value = 0, method = "topologyVersion")
     private int topVer;
 
     /** Node order (used as global order) and DR ID. */
+    @Order(value = 1, method = "nodeOrderAndDrIdRaw")
     private int nodeOrderDrId;
 
     /** Order. */
+    @Order(2)
     private long order;
 
     /**
@@ -103,6 +104,13 @@ public class GridCacheVersion implements Message, 
Externalizable, CacheEntryVers
         return topVer;
     }
 
+    /**
+     * @param topVer New topology version.
+     */
+    public void topologyVersion(int topVer) {
+        this.topVer = topVer;
+    }
+
     /**
      * Gets combined node order and DR ID.
      *
@@ -112,6 +120,13 @@ public class GridCacheVersion implements Message, 
Externalizable, CacheEntryVers
         return nodeOrderDrId;
     }
 
+    /**
+     * New combined node order and DR ID.
+     */
+    public void nodeOrderAndDrIdRaw(int nodeOrderDrId) {
+        this.nodeOrderDrId = nodeOrderDrId;
+    }
+
     /**
      * @return Version order.
      */
@@ -119,6 +134,13 @@ public class GridCacheVersion implements Message, 
Externalizable, CacheEntryVers
         return order;
     }
 
+    /**
+     * @param order New order.
+     */
+    public void order(long order) {
+        this.order = order;
+    }
+
     /** {@inheritDoc} */
     @Override public CacheEntryVersion otherClusterVersion() {
         return null;
@@ -245,75 +267,6 @@ public class GridCacheVersion implements Message, 
Externalizable, CacheEntryVers
         return Integer.compare(nodeOrder(), other.nodeOrder());
     }
 
-    /** {@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(nodeOrderDrId))
-                    return false;
-
-                writer.incrementState();
-
-            case 1:
-                if (!writer.writeLong(order))
-                    return false;
-
-                writer.incrementState();
-
-            case 2:
-                if (!writer.writeInt(topVer))
-                    return false;
-
-                writer.incrementState();
-
-        }
-
-        return true;
-    }
-
-    /** {@inheritDoc} */
-    @Override public boolean readFrom(ByteBuffer buf, MessageReader reader) {
-        reader.setBuffer(buf);
-
-        switch (reader.state()) {
-            case 0:
-                nodeOrderDrId = reader.readInt();
-
-                if (!reader.isLastRead())
-                    return false;
-
-                reader.incrementState();
-
-            case 1:
-                order = reader.readLong();
-
-                if (!reader.isLastRead())
-                    return false;
-
-                reader.incrementState();
-
-            case 2:
-                topVer = reader.readInt();
-
-                if (!reader.isLastRead())
-                    return false;
-
-                reader.incrementState();
-
-        }
-
-        return true;
-    }
-
     /** {@inheritDoc} */
     @Override public short directType() {
         return 86;
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/version/GridCacheVersionEx.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/version/GridCacheVersionEx.java
index 8bd47615f66..3a960048083 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/version/GridCacheVersionEx.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/version/GridCacheVersionEx.java
@@ -21,10 +21,8 @@ import java.io.Externalizable;
 import java.io.IOException;
 import java.io.ObjectInput;
 import java.io.ObjectOutput;
-import java.nio.ByteBuffer;
 import org.apache.ignite.cache.CacheEntryVersion;
-import org.apache.ignite.plugin.extensions.communication.MessageReader;
-import org.apache.ignite.plugin.extensions.communication.MessageWriter;
+import org.apache.ignite.internal.Order;
 
 /**
  * Extended cache version which also has additional DR version.
@@ -34,6 +32,7 @@ public class GridCacheVersionEx extends GridCacheVersion {
     private static final long serialVersionUID = 0L;
 
     /** DR version. */
+    @Order(value = 3, method = "conflictVersion")
     private GridCacheVersion drVer;
 
     /**
@@ -82,6 +81,13 @@ public class GridCacheVersionEx extends GridCacheVersion {
         return drVer;
     }
 
+    /**
+     * @param drVer New DR version.
+     */
+    public void conflictVersion(GridCacheVersion drVer) {
+        this.drVer = drVer;
+    }
+
     /** {@inheritDoc} */
     @Override public CacheEntryVersion otherClusterVersion() {
         return conflictVersion();
@@ -92,53 +98,6 @@ public class GridCacheVersionEx extends GridCacheVersion {
         return 104;
     }
 
-    /** {@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.writeMessage(drVer))
-                    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:
-                drVer = reader.readMessage();
-
-                if (!reader.isLastRead())
-                    return false;
-
-                reader.incrementState();
-
-        }
-
-        return true;
-    }
-
     /** {@inheritDoc} */
     @Override public void readExternal(ObjectInput in) throws IOException {
         super.readExternal(in);

Reply via email to