This is an automated email from the ASF dual-hosted git repository.
dmagda 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 d3e5b7c Fix. (#8448)
d3e5b7c is described below
commit d3e5b7c11ed037670700eea75851e619d5d1b6b1
Author: Vladsz83 <[email protected]>
AuthorDate: Thu Nov 19 03:16:31 2020 +0300
Fix. (#8448)
---
.../ignite/spi/discovery/tcp/TcpDiscoverySpi.java | 23 +++++++++++-----------
1 file changed, 11 insertions(+), 12 deletions(-)
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 8a2b4c6..9837061 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
@@ -630,12 +630,20 @@ public class TcpDiscoverySpi extends IgniteSpiAdapter
implements IgniteDiscovery
/**
* Sets local host IP address that discovery SPI uses.
* <p>
- * If not provided, by default a first found non-loopback address
- * will be used. If there is no non-loopback address available,
- * then {@link InetAddress#getLocalHost()} will be used.
+ * If not provided, the value is resolved from {@link
IgniteConfiguration#getLocalHost()}. If it is empty too, by
+ * default node binds to all available IP addresses. If there is no
non-loopback address then
+ * {@link InetAddress#getLocalHost()} is used.
+ * <p>
+ * <b>NOTE:</b> You should assign node address through {@link
IgniteConfiguration#setLocalHost(String)} or
+ * {@code setLocalAddress(String)}. Otherwise, several node addresses may
be picked up and can prolong
+ * detection of node failure. Parameters like {@code
failureDetectionTimeout} or {@code reconCnt} work per address
+ * sequentionally. Example: if node is binded to 3 ip addresses, previous
node can take up to
+ * '{@code failureDetectionTimeout} * 3 + {@code connRecoveryTimeout}' to
detect failure of malfunctional node and
+ * establish connection to other one.
*
* @param locAddr IP address.
* @return {@code this} for chaining.
+ * @see IgniteConfiguration#setLocalHost(String).
*/
@IgniteSpiConfiguration(optional = true)
public TcpDiscoverySpi setLocalAddress(String locAddr) {
@@ -894,15 +902,6 @@ public class TcpDiscoverySpi extends IgniteSpiAdapter
implements IgniteDiscovery
* <p>
* If not provided {@link
org.apache.ignite.spi.discovery.tcp.ipfinder.multicast.TcpDiscoveryMulticastIpFinder}
will
* be used by default.
- * <p>
- * <b>NOTE:</b> You should assing multiple addresses to a node only if
they represent some real physical connections
- * which can give more reliability. Providing several addresses can
prolong failure detection of current node.
- * The timeouts and settings on network operations ({@link
#failureDetectionTimeout()}, {@link #sockTimeout},
- * {@link #ackTimeout}, {@link #maxAckTimeout}, {@link #reconCnt}) work
per connection/address. The exception is
- * {@link #connRecoveryTimeout}. And node addresses are sorted out
sequentially.
- * </p>
- * Example: if you use {@code failureDetectionTimeout} and have set 3 ip
addresses for this node, previous node in
- * the ring can take up to 'failureDetectionTimeout * 3' to detect failure
of current node.
*
* @param ipFinder IP finder.
* @return {@code this} for chaining.