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 aa1f3b6f0bf IGNITE-26041 Use MessageSerializer for CacheEvictionEntry
(#12222)
aa1f3b6f0bf is described below
commit aa1f3b6f0bf7e41c49305c9a8bd8a1c32370356c
Author: Dmitry Werner <[email protected]>
AuthorDate: Wed Jul 30 19:57:41 2025 +0500
IGNITE-26041 Use MessageSerializer for CacheEvictionEntry (#12222)
---
.../communication/GridIoMessageFactory.java | 3 +-
.../processors/cache/CacheEvictionEntry.java | 97 ++++++----------------
2 files changed, 27 insertions(+), 73 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 4b75909b2ac..c87e15e3c85 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
@@ -26,6 +26,7 @@ import org.apache.ignite.internal.GridTaskCancelRequest;
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.GridCacheEntryInfoSerializer;
import org.apache.ignite.internal.codegen.GridCacheVersionExSerializer;
import org.apache.ignite.internal.codegen.GridCacheVersionSerializer;
@@ -291,7 +292,7 @@ public class GridIoMessageFactory implements
MessageFactoryProvider {
factory.register((short)94, IgniteTxKey::new);
factory.register((short)95, DataStreamerEntry::new);
factory.register((short)96, CacheContinuousQueryEntry::new);
- factory.register((short)97, CacheEvictionEntry::new);
+ factory.register((short)97, CacheEvictionEntry::new, new
CacheEvictionEntrySerializer());
factory.register((short)98, CacheEntryPredicateContainsValue::new);
factory.register((short)99, CacheEntrySerializablePredicate::new);
factory.register((short)100, IgniteTxEntry::new);
diff --git
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheEvictionEntry.java
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheEvictionEntry.java
index 57957b4888f..a59de3f4ec2 100644
---
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheEvictionEntry.java
+++
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheEvictionEntry.java
@@ -17,27 +17,28 @@
package org.apache.ignite.internal.processors.cache;
-import java.nio.ByteBuffer;
import org.apache.ignite.IgniteCheckedException;
+import org.apache.ignite.internal.Order;
import org.apache.ignite.internal.processors.cache.version.GridCacheVersion;
import org.apache.ignite.internal.util.tostring.GridToStringInclude;
import org.apache.ignite.plugin.extensions.communication.Message;
-import org.apache.ignite.plugin.extensions.communication.MessageReader;
-import org.apache.ignite.plugin.extensions.communication.MessageWriter;
/**
*
*/
public class CacheEvictionEntry implements Message {
/** */
+ @Order(0)
@GridToStringInclude
private KeyCacheObject key;
/** */
+ @Order(value = 1, method = "version")
@GridToStringInclude
private GridCacheVersion ver;
/** */
+ @Order(2)
private boolean near;
/**
@@ -65,6 +66,13 @@ public class CacheEvictionEntry implements Message {
return key;
}
+ /**
+ * @param key New key.
+ */
+ public void key(KeyCacheObject key) {
+ this.key = key;
+ }
+
/**
* @return Version.
*/
@@ -72,6 +80,13 @@ public class CacheEvictionEntry implements Message {
return ver;
}
+ /**
+ * @param ver New version.
+ */
+ public void version(GridCacheVersion ver) {
+ this.ver = ver;
+ }
+
/**
* @return {@code True} if key should be evicted from near cache.
*/
@@ -79,6 +94,13 @@ public class CacheEvictionEntry implements Message {
return near;
}
+ /**
+ * @param near {@code True} if key should be evicted from near cache.
+ */
+ public void near(boolean near) {
+ this.near = near;
+ }
+
/** {@inheritDoc} */
@Override public short directType() {
return 97;
@@ -105,73 +127,4 @@ public class CacheEvictionEntry implements Message {
@Override public void onAckReceived() {
// 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(key))
- return false;
-
- writer.incrementState();
-
- case 1:
- if (!writer.writeBoolean(near))
- return false;
-
- writer.incrementState();
-
- case 2:
- 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:
- key = reader.readMessage();
-
- if (!reader.isLastRead())
- return false;
-
- reader.incrementState();
-
- case 1:
- near = reader.readBoolean();
-
- if (!reader.isLastRead())
- return false;
-
- reader.incrementState();
-
- case 2:
- ver = reader.readMessage();
-
- if (!reader.isLastRead())
- return false;
-
- reader.incrementState();
-
- }
-
- return true;
- }
}