This is an automated email from the ASF dual-hosted git repository.

agoncharuk pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ignite.git


The following commit(s) were added to refs/heads/master by this push:
     new 9231c3e  IGNITE-12889 Fix ringLatencyCheck loop - Fixes #7672.
9231c3e is described below

commit 9231c3ea808dfaa416861846fe955add623c35f9
Author: iakkuratov <38322509+iakkura...@users.noreply.github.com>
AuthorDate: Wed Apr 22 15:19:19 2020 +0300

    IGNITE-12889 Fix ringLatencyCheck loop - Fixes #7672.
    
    Signed-off-by: Alexey Goncharuk <alexey.goncha...@gmail.com>
---
 .../ignite/spi/discovery/tcp/ServerImpl.java       |  2 +-
 .../spi/discovery/tcp/TcpDiscoverySelfTest.java    | 32 ++++++++++++++++++++++
 2 files changed, 33 insertions(+), 1 deletion(-)

diff --git 
a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
 
b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
index a2fe506..49b5ee9 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/ServerImpl.java
@@ -5166,7 +5166,7 @@ class ServerImpl extends TcpDiscoveryImpl {
             if (log.isInfoEnabled())
                 log.info("Latency check processing: " + msg.id());
 
-            if (sendMessageToRemotes(msg))
+            if (ring.hasRemoteServerNodes())
                 sendMessageAcrossRing(msg);
             else {
                 if (log.isInfoEnabled())
diff --git 
a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySelfTest.java
index 25e2700..dc545a2 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySelfTest.java
@@ -90,6 +90,8 @@ import 
org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryNodeFailedMessag
 import 
org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryNodeLeftMessage;
 import org.apache.ignite.testframework.GridStringLogger;
 import org.apache.ignite.testframework.GridTestUtils;
+import org.apache.ignite.testframework.ListeningTestLogger;
+import org.apache.ignite.testframework.LogListener;
 import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
@@ -2236,6 +2238,36 @@ public class TcpDiscoverySelfTest extends 
GridCommonAbstractTest {
     }
 
     /**
+     * @throws Exception If failed.
+     */
+    @Test
+    public void testCheckRingLatency() throws Exception {
+        int hops = 1;
+
+        ListeningTestLogger testLog = new ListeningTestLogger(false, log);
+
+        // We should discard ring check latency on server node.
+        LogListener lsnr = LogListener.matches("Latency check has been 
discarded").times(hops).build();
+
+        testLog.registerListener(lsnr);
+
+        try {
+            IgniteEx node = 
startGrid(getConfiguration("server").setGridLogger(testLog));
+
+            startGrid(getConfiguration("client").setClientMode(true));
+
+            TcpDiscoverySpi discoverySpi = 
(TcpDiscoverySpi)node.context().discovery().getInjectedDiscoverySpi();
+
+            discoverySpi.impl.checkRingLatency(hops);
+
+            assertTrue("Check ring latency message wasn't discarded", 
lsnr.check(1000));
+        }
+        finally {
+            stopAllGrids();
+        }
+    }
+
+    /**
      * @param nodeName Node name.
      * @throws Exception If failed.
      */

Reply via email to