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]


Reply via email to