NSAmelchev opened a new pull request, #13674:
URL: https://github.com/apache/ignite/pull/13674

   A node that is stopped while it becomes the new coordinator of an exchange 
may fail to send the restore-state request, since its communication SPI is 
already stopped. `GridDhtPartitionsExchangeFuture` reported this as 
`CRITICAL_ERROR`; now the error is still logged but not passed to the failure 
handler if the node is stopping.
   
   **Visible behavior change:** a graceful stop of a coordinator during an 
exchange no longer triggers the failure handler, i.e. no second stop attempt, 
thread dump or JVM halt on the stop timeout.
   
   `TcpDiscoveryClientTopologyGapTest` reproduces the race: the test stops the 
coordinator right after the previous one and caught the following on TC:
   
   ```
   Failed to initialize new coordinator future [topVer=AffinityTopologyVersion 
[topVer=10, minorTopVer=0]]
   class org.apache.ignite.IgniteCheckedException: Failed to send message (node 
may have left the grid or TCP connection cannot be established due to firewall 
issues) [...]
   Caused by: class org.apache.ignite.spi.IgniteSpiException: Node is stopping.
   Caused by: class org.apache.ignite.IgniteCheckedException: Failed to 
connect, node stopped.
   ```
   
   Its iteration count is reduced so that the test fits into the default test 
timeout.


-- 
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