Skip to content

Commit 8a6f343

Browse files
authored
IGNITE-27318 Use MessageSerializer for TcpDiscoveryRingLatencyCheckMessage (#12578)
1 parent 288cfd5 commit 8a6f343

3 files changed

Lines changed: 45 additions & 15 deletions

File tree

modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/DiscoveryMessageFactory.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import org.apache.ignite.internal.codegen.TcpDiscoveryLoopbackProblemMessageSerializer;
2525
import org.apache.ignite.internal.codegen.TcpDiscoveryPingRequestSerializer;
2626
import org.apache.ignite.internal.codegen.TcpDiscoveryPingResponseSerializer;
27+
import org.apache.ignite.internal.codegen.TcpDiscoveryRingLatencyCheckMessageSerializer;
2728
import org.apache.ignite.plugin.extensions.communication.MessageFactory;
2829
import org.apache.ignite.plugin.extensions.communication.MessageFactoryProvider;
2930
import org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryCheckFailedMessage;
@@ -33,6 +34,7 @@
3334
import org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryLoopbackProblemMessage;
3435
import org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryPingRequest;
3536
import org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryPingResponse;
37+
import org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryRingLatencyCheckMessage;
3638

3739
/** Message factory for discovery messages. */
3840
public class DiscoveryMessageFactory implements MessageFactoryProvider {
@@ -45,5 +47,6 @@ public class DiscoveryMessageFactory implements MessageFactoryProvider {
4547
factory.register((short)4, TcpDiscoveryClientPingResponse::new, new TcpDiscoveryClientPingResponseSerializer());
4648
factory.register((short)5, TcpDiscoveryLoopbackProblemMessage::new, new TcpDiscoveryLoopbackProblemMessageSerializer());
4749
factory.register((short)6, TcpDiscoveryConnectionCheckMessage::new, new TcpDiscoveryConnectionCheckMessageSerializer());
50+
factory.register((short)7, TcpDiscoveryRingLatencyCheckMessage::new, new TcpDiscoveryRingLatencyCheckMessageSerializer());
4851
}
4952
}

modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5423,7 +5423,7 @@ private void processRingLatencyCheckMessage(TcpDiscoveryRingLatencyCheckMessage
54235423
if (msg.maxHopsReached()) {
54245424
if (log.isInfoEnabled()) {
54255425
log.info("Latency check has been discarded (max hops reached) [id=" + msg.id() +
5426-
", maxHops=" + msg.maxHops() + ']');
5426+
", maxHops=" + msg.maximalHops() + ']');
54275427
}
54285428

54295429
return;

modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/messages/TcpDiscoveryRingLatencyCheckMessage.java

Lines changed: 41 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -18,29 +18,36 @@
1818
package org.apache.ignite.spi.discovery.tcp.messages;
1919

2020
import java.util.UUID;
21+
import org.apache.ignite.internal.Order;
22+
import org.apache.ignite.internal.managers.discovery.DiscoveryMessageFactory;
2123
import org.apache.ignite.internal.util.typedef.internal.S;
24+
import org.apache.ignite.plugin.extensions.communication.Message;
2225

2326
/**
2427
*
2528
*/
26-
public class TcpDiscoveryRingLatencyCheckMessage extends TcpDiscoveryAbstractMessage {
29+
public class TcpDiscoveryRingLatencyCheckMessage extends TcpDiscoveryAbstractMessage implements Message {
2730
/** */
2831
private static final long serialVersionUID = 0L;
2932

30-
/** */
33+
/** Maximal hops number. */
34+
@Order(value = 5, method = "maximalHops")
3135
private int maxHops;
3236

33-
/** */
34-
private int curHop;
37+
/** Current hops reached. */
38+
@Order(value = 6, method = "currentHops")
39+
private int curHops;
40+
41+
/** Empty constructor for {@link DiscoveryMessageFactory}. */
42+
public TcpDiscoveryRingLatencyCheckMessage() {
43+
// No-op.
44+
}
3545

3646
/**
3747
* @param creatorNodeId Creator node ID.
38-
* @param maxHops Max hops for this message.
48+
* @param maxHops Maximal hops number for this message.
3949
*/
40-
public TcpDiscoveryRingLatencyCheckMessage(
41-
UUID creatorNodeId,
42-
int maxHops
43-
) {
50+
public TcpDiscoveryRingLatencyCheckMessage(UUID creatorNodeId, int maxHops) {
4451
super(creatorNodeId);
4552

4653
assert maxHops > 0;
@@ -52,21 +59,41 @@ public TcpDiscoveryRingLatencyCheckMessage(
5259
*
5360
*/
5461
public void onRead() {
55-
curHop++;
62+
curHops++;
63+
}
64+
65+
/** @return Current hops reached. */
66+
public int currentHops() {
67+
return curHops;
68+
}
69+
70+
/** @param curHop Current hops reached. */
71+
public void currentHops(int curHop) {
72+
curHops = curHop;
5673
}
5774

5875
/**
59-
* @return Max hops.
76+
* @return Maximal hops number.
6077
*/
61-
public int maxHops() {
78+
public int maximalHops() {
6279
return maxHops;
6380
}
6481

82+
/** @param maxHops Maximal hops. */
83+
public void maximalHops(int maxHops) {
84+
this.maxHops = maxHops;
85+
}
86+
6587
/**
66-
* @return {@code True} if max hops has been reached.
88+
* @return {@code True} if max hops reached.
6789
*/
6890
public boolean maxHopsReached() {
69-
return curHop == maxHops;
91+
return curHops == maxHops;
92+
}
93+
94+
/** {@inheritDoc} */
95+
@Override public short directType() {
96+
return 7;
7097
}
7198

7299
/** {@inheritDoc} */

0 commit comments

Comments
 (0)