From 2649e979b3877cf4b38b8e109e63b89a9e833b00 Mon Sep 17 00:00:00 2001 From: Alex Abashev Date: Fri, 20 Feb 2026 00:25:09 +0300 Subject: [PATCH] IGNITE-27900 Use message serializer for CacheStatisticsClearMessage --- .../discovery/DiscoveryMessageFactory.java | 5 ++ .../cache/CacheStatisticsClearMessage.java | 56 +++++++++++++++++-- 2 files changed, 57 insertions(+), 4 deletions(-) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/DiscoveryMessageFactory.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/DiscoveryMessageFactory.java index 753f00569c5cf..b0545d94ccc22 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/DiscoveryMessageFactory.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/DiscoveryMessageFactory.java @@ -17,6 +17,7 @@ package org.apache.ignite.internal.managers.discovery; +import org.apache.ignite.internal.codegen.CacheStatisticsClearMessageSerializer; import org.apache.ignite.internal.codegen.DiscoveryDataPacketSerializer; import org.apache.ignite.internal.codegen.InetAddressMessageSerializer; import org.apache.ignite.internal.codegen.InetSocketAddressMessageSerializer; @@ -45,6 +46,7 @@ import org.apache.ignite.internal.codegen.TcpDiscoveryPingResponseSerializer; import org.apache.ignite.internal.codegen.TcpDiscoveryRingLatencyCheckMessageSerializer; import org.apache.ignite.internal.codegen.TcpDiscoveryStatusCheckMessageSerializer; +import org.apache.ignite.internal.processors.cache.CacheStatisticsClearMessage; import org.apache.ignite.plugin.extensions.communication.MessageFactory; import org.apache.ignite.plugin.extensions.communication.MessageFactoryProvider; import org.apache.ignite.spi.discovery.tcp.internal.DiscoveryDataPacket; @@ -110,5 +112,8 @@ public class DiscoveryMessageFactory implements MessageFactoryProvider { factory.register((short)17, TcpDiscoveryNodeFailedMessage::new, new TcpDiscoveryNodeFailedMessageSerializer()); factory.register((short)18, TcpDiscoveryStatusCheckMessage::new, new TcpDiscoveryStatusCheckMessageSerializer()); factory.register((short)19, TcpDiscoveryNodeAddFinishedMessage::new, new TcpDiscoveryNodeAddFinishedMessageSerializer()); + + factory.register(CacheStatisticsClearMessage.DIRECT_TYPE, CacheStatisticsClearMessage::new, + new CacheStatisticsClearMessageSerializer()); } } diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheStatisticsClearMessage.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheStatisticsClearMessage.java index 228bb1f171b96..23168b526a7b8 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheStatisticsClearMessage.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/CacheStatisticsClearMessage.java @@ -19,18 +19,23 @@ import java.util.Collection; import java.util.UUID; +import org.apache.ignite.internal.Order; import org.apache.ignite.internal.managers.discovery.DiscoCache; import org.apache.ignite.internal.managers.discovery.DiscoveryCustomMessage; import org.apache.ignite.internal.managers.discovery.GridDiscoveryManager; import org.apache.ignite.internal.processors.affinity.AffinityTopologyVersion; import org.apache.ignite.internal.util.typedef.internal.S; import org.apache.ignite.lang.IgniteUuid; +import org.apache.ignite.plugin.extensions.communication.Message; import org.jetbrains.annotations.Nullable; /** * Cache statistics clear discovery message. */ -public class CacheStatisticsClearMessage implements DiscoveryCustomMessage { +public class CacheStatisticsClearMessage implements DiscoveryCustomMessage, Message { + /** */ + public static final short DIRECT_TYPE = 501; + /** */ private static final long serialVersionUID = 0L; @@ -41,13 +46,23 @@ public class CacheStatisticsClearMessage implements DiscoveryCustomMessage { private final IgniteUuid id = IgniteUuid.randomUuid(); /** Request id. */ - private final UUID reqId; + @Order(value = 0, method = "requestId") + private UUID reqId; /** Cache names. */ - private final Collection caches; + @Order(1) + private Collection caches; /** Flags. */ - private final byte flags; + @Order(2) + private byte flags; + + /** + * Default constructor. + */ + public CacheStatisticsClearMessage() { + // No-op. + } /** * Constructor for request. @@ -92,6 +107,11 @@ private CacheStatisticsClearMessage(CacheStatisticsClearMessage msg) { return initial() ? new CacheStatisticsClearMessage(this) : null; } + /** {@inheritDoc} */ + @Override public short directType() { + return DIRECT_TYPE; + } + /** * @return Cache names. */ @@ -99,6 +119,13 @@ public Collection caches() { return this.caches; } + /** + * @param caches Cache names. + */ + public void caches(Collection caches) { + this.caches = caches; + } + /** * Initial message flag. */ @@ -113,6 +140,27 @@ public UUID requestId() { return this.reqId; } + /** + * @param reqId Request id. + */ + public void requestId(UUID reqId) { + this.reqId = reqId; + } + + /** + * @return Flags. + */ + public byte flags() { + return flags; + } + + /** + * @param flags Flags. + */ + public void flags(byte flags) { + this.flags = flags; + } + /** {@inheritDoc} */ @Override public String toString() { return S.toString(CacheStatisticsClearMessage.class, this);