Skip to content

Commit d94fbea

Browse files
committed
IGNITE-28207 Handle unknown messages in discovery
1 parent 2f76f3b commit d94fbea

3 files changed

Lines changed: 19 additions & 17 deletions

File tree

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -731,7 +731,7 @@ private static void sleepEx(long millis, Runnable before, Runnable after) throws
731731

732732
spi.writeMessage(ses, req, timeoutHelper.nextTimeoutChunk(spi.getSocketTimeout()));
733733

734-
TcpDiscoveryHandshakeResponse res = ServerImpl.readHandshakeResponse(spi, ses, ackTimeout0);
734+
TcpDiscoveryHandshakeResponse res = spi.readHandshakeResponse(ses, ackTimeout0);
735735

736736
// Convert the addresses once.
737737
Collection<InetSocketAddress> redirectAddrs = res.redirectAddresses();

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

Lines changed: 3 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1489,7 +1489,7 @@ else if (U.millisSinceNanos(joinStartNanos) > spi.joinTimeout)
14891489
// Handshake.
14901490
spi.writeMessage(ses, req, timeoutHelper.nextTimeoutChunk(spi.getSocketTimeout()));
14911491

1492-
TcpDiscoveryHandshakeResponse res = readHandshakeResponse(spi, ses, timeoutHelper.nextTimeoutChunk(ackTimeout0));
1492+
TcpDiscoveryHandshakeResponse res = spi.readHandshakeResponse(ses, timeoutHelper.nextTimeoutChunk(ackTimeout0));
14931493

14941494
if (msg instanceof TcpDiscoveryJoinRequestMessage) {
14951495
boolean ignore = false;
@@ -3463,7 +3463,8 @@ else if (log.isTraceEnabled())
34633463
timeoutHelper.nextTimeoutChunk(ackTimeout0));
34643464
}
34653465

3466-
TcpDiscoveryHandshakeResponse res = readHandshakeResponse(spi, ses, timeoutHelper.nextTimeoutChunk(ackTimeout0));
3466+
TcpDiscoveryHandshakeResponse res =
3467+
spi.readHandshakeResponse(ses, timeoutHelper.nextTimeoutChunk(ackTimeout0));
34673468

34683469
if (log.isDebugEnabled())
34693470
log.debug("Handshake response: " + res);
@@ -8317,18 +8318,4 @@ else if (msg.senderNodeId() == null || !hasLocMetrics)
83178318
return 1;
83188319
}
83198320
}
8320-
8321-
/** */
8322-
static TcpDiscoveryHandshakeResponse readHandshakeResponse(
8323-
TcpDiscoverySpi spi,
8324-
TcpDiscoveryIoSession ses,
8325-
long timeout
8326-
) throws IOException, IgniteCheckedException {
8327-
try {
8328-
return spi.readMessage(ses, timeout);
8329-
}
8330-
catch (UnknownMessageException e) {
8331-
throw new IgniteCheckedException(e);
8332-
}
8333-
}
83348321
}

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

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@
5656
import org.apache.ignite.failure.FailureContext;
5757
import org.apache.ignite.internal.IgniteEx;
5858
import org.apache.ignite.internal.IgniteInterruptedCheckedException;
59+
import org.apache.ignite.internal.managers.communication.UnknownMessageException;
5960
import org.apache.ignite.internal.managers.discovery.IgniteDiscoverySpi;
6061
import org.apache.ignite.internal.processors.failure.FailureProcessor;
6162
import org.apache.ignite.internal.processors.metric.MetricRegistryImpl;
@@ -108,6 +109,7 @@
108109
import org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryCheckFailedMessage;
109110
import org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryDuplicateIdMessage;
110111
import org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryEnsureDelivery;
112+
import org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryHandshakeResponse;
111113
import org.jetbrains.annotations.Nullable;
112114
import org.jetbrains.annotations.TestOnly;
113115

@@ -2436,6 +2438,19 @@ protected Marshaller marshaller() {
24362438
return marsh;
24372439
}
24382440

2441+
/** */
2442+
TcpDiscoveryHandshakeResponse readHandshakeResponse(
2443+
TcpDiscoveryIoSession ses,
2444+
long timeout
2445+
) throws IOException, IgniteCheckedException {
2446+
try {
2447+
return readMessage(ses, timeout);
2448+
}
2449+
catch (UnknownMessageException e) {
2450+
throw new IgniteCheckedException(e);
2451+
}
2452+
}
2453+
24392454
/** {@inheritDoc} */
24402455
@Override public TcpDiscoverySpi setName(String name) {
24412456
super.setName(name);

0 commit comments

Comments
 (0)