This is an automated email from the ASF dual-hosted git repository.
shishkovilja 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 8a6f3437a3f IGNITE-27318 Use MessageSerializer for
TcpDiscoveryRingLatencyCheckMessage (#12578)
8a6f3437a3f is described below
commit 8a6f3437a3f98436b8f62bdbc321ca16ab2e62dd
Author: Vladimir Steshin <[email protected]>
AuthorDate: Wed Dec 17 13:47:36 2025 +0300
IGNITE-27318 Use MessageSerializer for TcpDiscoveryRingLatencyCheckMessage
(#12578)
---
.../discovery/DiscoveryMessageFactory.java | 3 ++
.../ignite/spi/discovery/tcp/ServerImpl.java | 2 +-
.../TcpDiscoveryRingLatencyCheckMessage.java | 55 ++++++++++++++++------
3 files changed, 45 insertions(+), 15 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 a858bdb5fce..7786560ad90 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
@@ -24,6 +24,7 @@ import
org.apache.ignite.internal.codegen.TcpDiscoveryConnectionCheckMessageSeri
import
org.apache.ignite.internal.codegen.TcpDiscoveryLoopbackProblemMessageSerializer;
import org.apache.ignite.internal.codegen.TcpDiscoveryPingRequestSerializer;
import org.apache.ignite.internal.codegen.TcpDiscoveryPingResponseSerializer;
+import
org.apache.ignite.internal.codegen.TcpDiscoveryRingLatencyCheckMessageSerializer;
import org.apache.ignite.plugin.extensions.communication.MessageFactory;
import
org.apache.ignite.plugin.extensions.communication.MessageFactoryProvider;
import
org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryCheckFailedMessage;
@@ -33,6 +34,7 @@ import
org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryConnectionCheckM
import
org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryLoopbackProblemMessage;
import org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryPingRequest;
import org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryPingResponse;
+import
org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryRingLatencyCheckMessage;
/** Message factory for discovery messages. */
public class DiscoveryMessageFactory implements MessageFactoryProvider {
@@ -45,5 +47,6 @@ public class DiscoveryMessageFactory implements
MessageFactoryProvider {
factory.register((short)4, TcpDiscoveryClientPingResponse::new, new
TcpDiscoveryClientPingResponseSerializer());
factory.register((short)5, TcpDiscoveryLoopbackProblemMessage::new,
new TcpDiscoveryLoopbackProblemMessageSerializer());
factory.register((short)6, TcpDiscoveryConnectionCheckMessage::new,
new TcpDiscoveryConnectionCheckMessageSerializer());
+ factory.register((short)7, TcpDiscoveryRingLatencyCheckMessage::new,
new TcpDiscoveryRingLatencyCheckMessageSerializer());
}
}
diff --git
a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
index da2c1e32b2a..470fafa4379 100644
---
a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
+++
b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
@@ -5423,7 +5423,7 @@ class ServerImpl extends TcpDiscoveryImpl {
if (msg.maxHopsReached()) {
if (log.isInfoEnabled()) {
log.info("Latency check has been discarded (max hops
reached) [id=" + msg.id() +
- ", maxHops=" + msg.maxHops() + ']');
+ ", maxHops=" + msg.maximalHops() + ']');
}
return;
diff --git
a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/messages/TcpDiscoveryRingLatencyCheckMessage.java
b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/messages/TcpDiscoveryRingLatencyCheckMessage.java
index 4c66dfc9ff0..5a30d6367f0 100644
---
a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/messages/TcpDiscoveryRingLatencyCheckMessage.java
+++
b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/messages/TcpDiscoveryRingLatencyCheckMessage.java
@@ -18,29 +18,36 @@
package org.apache.ignite.spi.discovery.tcp.messages;
import java.util.UUID;
+import org.apache.ignite.internal.Order;
+import org.apache.ignite.internal.managers.discovery.DiscoveryMessageFactory;
import org.apache.ignite.internal.util.typedef.internal.S;
+import org.apache.ignite.plugin.extensions.communication.Message;
/**
*
*/
-public class TcpDiscoveryRingLatencyCheckMessage extends
TcpDiscoveryAbstractMessage {
+public class TcpDiscoveryRingLatencyCheckMessage extends
TcpDiscoveryAbstractMessage implements Message {
/** */
private static final long serialVersionUID = 0L;
- /** */
+ /** Maximal hops number. */
+ @Order(value = 5, method = "maximalHops")
private int maxHops;
- /** */
- private int curHop;
+ /** Current hops reached. */
+ @Order(value = 6, method = "currentHops")
+ private int curHops;
+
+ /** Empty constructor for {@link DiscoveryMessageFactory}. */
+ public TcpDiscoveryRingLatencyCheckMessage() {
+ // No-op.
+ }
/**
* @param creatorNodeId Creator node ID.
- * @param maxHops Max hops for this message.
+ * @param maxHops Maximal hops number for this message.
*/
- public TcpDiscoveryRingLatencyCheckMessage(
- UUID creatorNodeId,
- int maxHops
- ) {
+ public TcpDiscoveryRingLatencyCheckMessage(UUID creatorNodeId, int
maxHops) {
super(creatorNodeId);
assert maxHops > 0;
@@ -52,21 +59,41 @@ public class TcpDiscoveryRingLatencyCheckMessage extends
TcpDiscoveryAbstractMes
*
*/
public void onRead() {
- curHop++;
+ curHops++;
+ }
+
+ /** @return Current hops reached. */
+ public int currentHops() {
+ return curHops;
+ }
+
+ /** @param curHop Current hops reached. */
+ public void currentHops(int curHop) {
+ curHops = curHop;
}
/**
- * @return Max hops.
+ * @return Maximal hops number.
*/
- public int maxHops() {
+ public int maximalHops() {
return maxHops;
}
+ /** @param maxHops Maximal hops. */
+ public void maximalHops(int maxHops) {
+ this.maxHops = maxHops;
+ }
+
/**
- * @return {@code True} if max hops has been reached.
+ * @return {@code True} if max hops reached.
*/
public boolean maxHopsReached() {
- return curHop == maxHops;
+ return curHops == maxHops;
+ }
+
+ /** {@inheritDoc} */
+ @Override public short directType() {
+ return 7;
}
/** {@inheritDoc} */