This is an automated email from the ASF dual-hosted git repository.
timoninmaxim 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 51aa3a59c98 IGNITE-25996 Use MessageSerializer for CacheVersionedValue
(#12219)
51aa3a59c98 is described below
commit 51aa3a59c98632850d6dbffbfdbcaf69c4dfbc04
Author: Ilya Shishkov <[email protected]>
AuthorDate: Thu Jul 31 15:02:46 2025 +0300
IGNITE-25996 Use MessageSerializer for CacheVersionedValue (#12219)
---
.../communication/GridIoMessageFactory.java | 3 +-
.../distributed/near/CacheVersionedValue.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 c87e15e3c85..badd562fc89 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,7 @@ 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.CacheEvictionEntrySerializer;
+import org.apache.ignite.internal.codegen.CacheVersionedValueSerializer;
import org.apache.ignite.internal.codegen.GridCacheEntryInfoSerializer;
import org.apache.ignite.internal.codegen.GridCacheVersionExSerializer;
import org.apache.ignite.internal.codegen.GridCacheVersionSerializer;
@@ -297,7 +298,7 @@ public class GridIoMessageFactory implements
MessageFactoryProvider {
factory.register((short)99, CacheEntrySerializablePredicate::new);
factory.register((short)100, IgniteTxEntry::new);
factory.register((short)101, TxEntryValueHolder::new);
- factory.register((short)102, CacheVersionedValue::new);
+ factory.register((short)102, CacheVersionedValue::new, new
CacheVersionedValueSerializer());
factory.register((short)103, GridCacheRawVersionedEntry::new);
factory.register((short)104, GridCacheVersionEx::new, new
GridCacheVersionExSerializer());
factory.register((short)105, CacheObjectByteArrayImpl::new);
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/CacheVersionedValue.java
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/CacheVersionedValue.java
index 1e46f22bf65..79c85d42eb2 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/CacheVersionedValue.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/CacheVersionedValue.java
@@ -17,8 +17,8 @@
package org.apache.ignite.internal.processors.cache.distributed.near;
-import java.nio.ByteBuffer;
import org.apache.ignite.IgniteCheckedException;
+import org.apache.ignite.internal.Order;
import org.apache.ignite.internal.processors.cache.CacheObject;
import org.apache.ignite.internal.processors.cache.CacheObjectContext;
import org.apache.ignite.internal.processors.cache.GridCacheContext;
@@ -26,18 +26,18 @@ import
org.apache.ignite.internal.processors.cache.version.GridCacheVersion;
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 object and version.
*/
public class CacheVersionedValue implements Message {
/** Value. */
+ @Order(value = 0, method = "value")
@GridToStringInclude
private CacheObject val;
/** Cache version. */
+ @Order(value = 1, method = "version")
@GridToStringInclude
private GridCacheVersion ver;
@@ -62,6 +62,13 @@ public class CacheVersionedValue implements Message {
return ver;
}
+ /**
+ * @param ver New cache version.
+ */
+ public void version(GridCacheVersion ver) {
+ this.ver = ver;
+ }
+
/**
* @return Cache object.
*/
@@ -69,6 +76,13 @@ public class CacheVersionedValue implements Message {
return val;
}
+ /**
+ * @param val New value.
+ */
+ public void value(CacheObject val) {
+ this.val = val;
+ }
+
/**
* This method is called before the whole message is sent
* and is responsible for pre-marshalling state.
@@ -99,61 +113,6 @@ public class CacheVersionedValue implements Message {
// No-op.
}
- /** {@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.writeMessage(val))
- return false;
-
- writer.incrementState();
-
- case 1:
- if (!writer.writeMessage(ver))
- return false;
-
- writer.incrementState();
-
- }
-
- return true;
- }
-
- /** {@inheritDoc} */
- @Override public boolean readFrom(ByteBuffer buf, MessageReader reader) {
- reader.setBuffer(buf);
-
- switch (reader.state()) {
- case 0:
- val = reader.readMessage();
-
- if (!reader.isLastRead())
- return false;
-
- reader.incrementState();
-
- case 1:
- ver = reader.readMessage();
-
- if (!reader.isLastRead())
- return false;
-
- reader.incrementState();
-
- }
-
- return true;
- }
-
/** {@inheritDoc} */
@Override public short directType() {
return 102;