ignite-752: updated failure detection sections of communication and discovery SPIs
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/e37069d4 Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/e37069d4 Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/e37069d4 Branch: refs/heads/ignite-752 Commit: e37069d4e02fc9ff519c973e66e9b00470f1ddc0 Parents: f2a2dcf Author: Denis Magda <[email protected]> Authored: Wed Jul 22 11:17:18 2015 +0300 Committer: Denis Magda <[email protected]> Committed: Wed Jul 22 11:17:18 2015 +0300 ---------------------------------------------------------------------- .../spi/communication/tcp/TcpCommunicationSpi.java | 12 ++++++++++++ .../ignite/spi/discovery/tcp/TcpDiscoverySpi.java | 16 +++++++++++----- 2 files changed, 23 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e37069d4/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java index a678b2a..5d6dee3 100644 --- a/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java +++ b/modules/core/src/main/java/org/apache/ignite/spi/communication/tcp/TcpCommunicationSpi.java @@ -73,7 +73,19 @@ import static org.apache.ignite.events.EventType.*; * {@link #DFLT_IDLE_CONN_TIMEOUT} period and then are closed. Use * {@link #setIdleConnectionTimeout(long)} configuration parameter to configure * you own idle connection timeout. + * <h1 class="header">Failure Detection</h1> + * Configuration defaults (see Configuration section below and + * {@link IgniteConfiguration#getFailureDetectionThreshold()}) for details) are chosen to make possible for + * communication SPI work reliably on most of hardware and virtual deployments, but this has made failure detection + * time worse. * <p> + * If it's needed to tune failure detection then it's highly recommended to do this using + * {@link IgniteConfiguration#setFailureDetectionThreshold(long)}. This is the easiest and most straightforward way + * to setup failure detection basing on network conditions of a cluster. + * <p> + * If it's required to perform advanced settings of failure detection and + * {@link IgniteConfiguration#getFailureDetectionThreshold()} is unsuitable then various {@code TcpCommunicationSpi} + * configuration parameters may be used. * <h1 class="header">Configuration</h1> * <h2 class="header">Mandatory</h2> * This SPI has no mandatory configuration parameters. http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/e37069d4/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java index 3821a0a..03cf3da 100644 --- a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java +++ b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpi.java @@ -65,12 +65,18 @@ import java.util.concurrent.atomic.*; * and then this info goes to coordinator. When coordinator processes join request * and issues node added messages and all other nodes then receive info about new node. * <h1 class="header">Failure Detection</h1> - * Configuration defaults (see Configuration section below for details) - * are chosen to make possible for discovery SPI work reliably on - * most of hardware and virtual deployments, but this has made failure detection time worse. + * Configuration defaults (see Configuration section below and + * {@link IgniteConfiguration#getFailureDetectionThreshold()}) for details) are chosen to make possible for discovery + * SPI work reliably on most of hardware and virtual deployments, but this has made failure detection time worse. * <p> - * For stable low-latency networks the following more aggressive settings are recommended - * (which allows failure detection time ~200ms): + * If it's needed to tune failure detection then it's highly recommended to do this using + * {@link IgniteConfiguration#setFailureDetectionThreshold(long)}. This is the easiest and most straightforward way + * to setup failure detection basing on network conditions of a cluster. + * <p> + * If it's required to perform advanced settings of failure detection and + * {@link IgniteConfiguration#getFailureDetectionThreshold()} is unsuitable then various {@code TcpDiscoverySpi} + * configuration parameters may be used. As an example, for stable low-latency networks the following more aggressive + * settings are recommended (which allows failure detection time ~200ms): * <ul> * <li>Heartbeat frequency (see {@link #setHeartbeatFrequency(long)}) - 100ms</li> * <li>Socket timeout (see {@link #setSocketTimeout(long)}) - 200ms</li>
