Vladsz83 commented on a change in pull request #8881:
URL: https://github.com/apache/ignite/pull/8881#discussion_r704845517
##########
File path:
modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
##########
@@ -3949,6 +3957,8 @@ else if (!failedNextNode && sndState != null &&
sndState.isBackward()) {
if (!sent) {
assert next == null : next;
+ checkOutgoingConnection();
Review comment:
Actually, the only place, where we can check the ring is over, is
`sendMessageAcrossRing()`, where we see a message failed to leave. We depend of
`failedNodes`. They must contain entire ring except current node. This means
we’ve tried to connect to every node and failed, the ring is over. This is the
ticket’s case. Unfortunately, we clear `ServerImpl. failedNodes` before
`ringMessageReceived()`. We convert `failedNodes` to NodeFailedMessages and put
them into the queue. When `ringMessageReceived()` is called, `ServerImpl.
failedNodes` is empty despite there are failed nodes. I’ve removed checking of
outgoing connection from `ringMessageReceived()` `.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]