Skip to content

Commit 894c0c9

Browse files
authored
IGNITE-27413 Use MessageSerializer for TcpDiscoveryDuplicateIdMessage (#12596)
1 parent ebbc96d commit 894c0c9

File tree

3 files changed

+22
-26
lines changed

3 files changed

+22
-26
lines changed

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
@@ -25,6 +25,7 @@
2525
import org.apache.ignite.internal.codegen.TcpDiscoveryClientPingResponseSerializer;
2626
import org.apache.ignite.internal.codegen.TcpDiscoveryConnectionCheckMessageSerializer;
2727
import org.apache.ignite.internal.codegen.TcpDiscoveryDiscardMessageSerializer;
28+
import org.apache.ignite.internal.codegen.TcpDiscoveryDuplicateIdMessageSerializer;
2829
import org.apache.ignite.internal.codegen.TcpDiscoveryHandshakeRequestSerializer;
2930
import org.apache.ignite.internal.codegen.TcpDiscoveryHandshakeResponseSerializer;
3031
import org.apache.ignite.internal.codegen.TcpDiscoveryLoopbackProblemMessageSerializer;
@@ -41,6 +42,7 @@
4142
import org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryClientPingResponse;
4243
import org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryConnectionCheckMessage;
4344
import org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryDiscardMessage;
45+
import org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryDuplicateIdMessage;
4446
import org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryHandshakeRequest;
4547
import org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryHandshakeResponse;
4648
import org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryLoopbackProblemMessage;
@@ -67,5 +69,6 @@ public class DiscoveryMessageFactory implements MessageFactoryProvider {
6769
factory.register((short)9, TcpDiscoveryDiscardMessage::new, new TcpDiscoveryDiscardMessageSerializer());
6870
factory.register((short)10, TcpDiscoveryHandshakeResponse::new, new TcpDiscoveryHandshakeResponseSerializer());
6971
factory.register((short)11, TcpDiscoveryAuthFailedMessage::new, new TcpDiscoveryAuthFailedMessageSerializer());
72+
factory.register((short)12, TcpDiscoveryDuplicateIdMessage::new, new TcpDiscoveryDuplicateIdMessageSerializer());
7073
}
7174
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2005,7 +2005,7 @@ protected IgniteSpiException duplicateIdError(TcpDiscoveryDuplicateIdMessage msg
20052005
.append("(fix configuration and restart local node) [localNode=")
20062006
.append(locNode)
20072007
.append(", existingNode=")
2008-
.append(msg.node() == null ? msg.nodeId() : msg.node())
2008+
.append(msg.nodeId())
20092009
.append(']');
20102010

20112011
return new IgniteSpiException(errorMsgBldr.toString());

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

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

2020
import java.util.UUID;
21+
import org.apache.ignite.internal.Order;
2122
import org.apache.ignite.internal.util.typedef.internal.S;
22-
import org.apache.ignite.spi.discovery.tcp.internal.TcpDiscoveryNode;
23+
import org.apache.ignite.plugin.extensions.communication.Message;
2324

2425
/**
2526
* Message telling joining node that new topology already contain
2627
* different node with same ID.
2728
*/
28-
public class TcpDiscoveryDuplicateIdMessage extends TcpDiscoveryAbstractMessage {
29+
public class TcpDiscoveryDuplicateIdMessage extends TcpDiscoveryAbstractMessage implements Message {
2930
/** */
3031
private static final long serialVersionUID = 0L;
3132

32-
/** Node with duplicate ID. */
33-
private final TcpDiscoveryNode node;
34-
3533
/** ID of the node with duplicate ID. */
36-
private final UUID nodeId;
37-
38-
/**
39-
* Constructor.
40-
*
41-
* @param creatorNodeId Creator node ID.
42-
* @param node Node with same ID.
43-
*/
44-
public TcpDiscoveryDuplicateIdMessage(UUID creatorNodeId, TcpDiscoveryNode node) {
45-
super(creatorNodeId);
34+
@Order(5)
35+
private UUID nodeId;
4636

47-
assert node != null;
48-
49-
this.node = node;
50-
this.nodeId = null;
37+
/** */
38+
public TcpDiscoveryDuplicateIdMessage() {
39+
// No-op.
5140
}
5241

5342
/**
@@ -61,26 +50,30 @@ public TcpDiscoveryDuplicateIdMessage(UUID creatorNodeId, UUID nodeId) {
6150

6251
assert nodeId != null;
6352

64-
this.node = null;
6553
this.nodeId = nodeId;
6654
}
6755

6856
/**
6957
* @return Node with duplicate ID.
7058
*/
71-
public TcpDiscoveryNode node() {
72-
return node;
59+
public UUID nodeId() {
60+
return nodeId;
7361
}
7462

7563
/**
76-
* @return Node with duplicate ID.
64+
* @param nodeId Node with duplicate ID.
7765
*/
78-
public UUID nodeId() {
79-
return nodeId;
66+
public void nodeId(UUID nodeId) {
67+
this.nodeId = nodeId;
8068
}
8169

8270
/** {@inheritDoc} */
8371
@Override public String toString() {
8472
return S.toString(TcpDiscoveryDuplicateIdMessage.class, this, "super", super.toString());
8573
}
74+
75+
/** {@inheritDoc} */
76+
@Override public short directType() {
77+
return 12;
78+
}
8679
}

0 commit comments

Comments
 (0)