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. */