# IGNITE-709 Set correct socket timeouts.

Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/1132d225
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/1132d225
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/1132d225

Branch: refs/heads/ignite-709_2
Commit: 1132d2259a3a33328cd66ebdff0761bdf1b5c1bb
Parents: 6bd3bff
Author: sevdokimov <sevdoki...@gridgain.com>
Authored: Mon May 18 12:09:24 2015 +0300
Committer: sevdokimov <sevdoki...@gridgain.com>
Committed: Mon May 18 12:09:24 2015 +0300

----------------------------------------------------------------------
 .../discovery/tcp/TcpClientDiscoverySpi.java    | 22 ++++++++++++++------
 .../spi/discovery/tcp/TcpDiscoverySpi.java      | 21 ++++++++++++++-----
 .../discovery/tcp/TcpDiscoverySpiAdapter.java   | 22 +++++++++++++-------
 3 files changed, 46 insertions(+), 19 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1132d225/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java
 
b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java
index 7925de6..4438092 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpClientDiscoverySpi.java
@@ -61,6 +61,12 @@ public class TcpClientDiscoverySpi extends 
TcpDiscoverySpiAdapter implements Tcp
     /** Default disconnect check interval. */
     public static final long DFLT_DISCONNECT_CHECK_INT = 2000;
 
+    /** Default socket operations timeout in milliseconds (value is 
<tt>700ms</tt>). */
+    public static final long DFLT_SOCK_TIMEOUT = 700;
+
+    /** Default timeout for receiving message acknowledgement in milliseconds 
(value is <tt>700ms</tt>). */
+    public static final long DFLT_ACK_TIMEOUT = 700;
+
     /** */
     private static final Object JOIN_TIMEOUT = "JOIN_TIMEOUT";
 
@@ -112,6 +118,14 @@ public class TcpClientDiscoverySpi extends 
TcpDiscoverySpiAdapter implements Tcp
     /** */
     private MessageWorker msgWorker;
 
+    /**
+     * Default constructor.
+     */
+    public TcpClientDiscoverySpi() {
+        ackTimeout = DFLT_ACK_TIMEOUT;
+        sockTimeout = DFLT_SOCK_TIMEOUT;
+    }
+
     /** {@inheritDoc} */
     @Override public long getDisconnectCheckInterval() {
         return disconnectCheckInt;
@@ -211,13 +225,9 @@ public class TcpClientDiscoverySpi extends 
TcpDiscoverySpiAdapter implements Tcp
     @Override public void spiStart(@Nullable String gridName) throws 
IgniteSpiException {
         startStopwatch();
 
-        assertParameter(ipFinder != null, "ipFinder != null");
-        assertParameter(netTimeout > 0, "networkTimeout > 0");
-        assertParameter(sockTimeout > 0, "sockTimeout > 0");
-        assertParameter(ackTimeout > 0, "ackTimeout > 0");
-        assertParameter(hbFreq > 0, "heartbeatFreq > 0");
+        checkParameters();
+
         assertParameter(threadPri > 0, "threadPri > 0");
-        assertParameter(joinTimeout >= 0, "joinTimeout >= 0");
 
         try {
             locHost = U.resolveLocalHost(locAddr);

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1132d225/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 b480176..571af20 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
@@ -171,6 +171,12 @@ public class TcpDiscoverySpi extends 
TcpDiscoverySpiAdapter implements TcpDiscov
     /** Maximum ack timeout value for receiving message acknowledgement in 
milliseconds (value is <tt>600,000ms</tt>). */
     public static final long DFLT_MAX_ACK_TIMEOUT = 10 * 60 * 1000;
 
+    /** Default socket operations timeout in milliseconds (value is 
<tt>200ms</tt>). */
+    public static final long DFLT_SOCK_TIMEOUT = 200;
+
+    /** Default timeout for receiving message acknowledgement in milliseconds 
(value is <tt>200ms</tt>). */
+    public static final long DFLT_ACK_TIMEOUT = 200;
+
     /** Node attribute that is mapped to node's external addresses (value is 
<tt>disc.tcp.ext-addrs</tt>). */
     public static final String ATTR_EXT_ADDRS = "disc.tcp.ext-addrs";
 
@@ -297,6 +303,14 @@ public class TcpDiscoverySpi extends 
TcpDiscoverySpiAdapter implements TcpDiscov
     private final CopyOnWriteArrayList<IgniteInClosure<Socket>> 
incomeConnLsnrs =
         new CopyOnWriteArrayList<>();
 
+    /**
+     * Default constructor.
+     */
+    public TcpDiscoverySpi() {
+        ackTimeout = DFLT_ACK_TIMEOUT;
+        sockTimeout = DFLT_SOCK_TIMEOUT;
+    }
+
     /** {@inheritDoc} */
     @IgniteInstanceResource
     @Override public void injectResources(Ignite ignite) {
@@ -794,17 +808,14 @@ public class TcpDiscoverySpi extends 
TcpDiscoverySpiAdapter implements TcpDiscov
     private void onSpiStart() throws IgniteSpiException {
         startStopwatch();
 
-        assertParameter(ipFinder != null, "ipFinder != null");
+        checkParameters();
+
         assertParameter(ipFinderCleanFreq > 0, "ipFinderCleanFreq > 0");
         assertParameter(locPort > 1023, "localPort > 1023");
         assertParameter(locPortRange >= 0, "localPortRange >= 0");
         assertParameter(locPort + locPortRange <= 0xffff, "locPort + 
locPortRange <= 0xffff");
-        assertParameter(netTimeout > 0, "networkTimeout > 0");
-        assertParameter(sockTimeout > 0, "sockTimeout > 0");
-        assertParameter(ackTimeout > 0, "ackTimeout > 0");
         assertParameter(maxAckTimeout > ackTimeout, "maxAckTimeout > 
ackTimeout");
         assertParameter(reconCnt > 0, "reconnectCnt > 0");
-        assertParameter(hbFreq > 0, "heartbeatFreq > 0");
         assertParameter(maxMissedHbs > 0, "maxMissedHeartbeats > 0");
         assertParameter(maxMissedClientHbs > 0, "maxMissedClientHeartbeats > 
0");
         assertParameter(threadPri > 0, "threadPri > 0");

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/1132d225/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiAdapter.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiAdapter.java
 
b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiAdapter.java
index b4c90cf..1ed2462 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiAdapter.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/spi/discovery/tcp/TcpDiscoverySpiAdapter.java
@@ -49,12 +49,6 @@ abstract class TcpDiscoverySpiAdapter extends 
IgniteSpiAdapter implements Discov
     /** Default port to listen (value is <tt>47500</tt>). */
     public static final int DFLT_PORT = 47500;
 
-    /** Default socket operations timeout in milliseconds (value is 
<tt>200ms</tt>). */
-    public static final long DFLT_SOCK_TIMEOUT = 200;
-
-    /** Default timeout for receiving message acknowledgement in milliseconds 
(value is <tt>200ms</tt>). */
-    public static final long DFLT_ACK_TIMEOUT = 200;
-
     /** Default network timeout in milliseconds (value is <tt>5000ms</tt>). */
     public static final long DFLT_NETWORK_TIMEOUT = 5000;
 
@@ -86,10 +80,10 @@ abstract class TcpDiscoverySpiAdapter extends 
IgniteSpiAdapter implements Discov
     protected TcpDiscoveryIpFinder ipFinder;
 
     /** Socket operations timeout. */
-    protected long sockTimeout = DFLT_SOCK_TIMEOUT;
+    protected long sockTimeout; // Must be initialized in the constructor of 
child class.
 
     /** Message acknowledgement timeout. */
-    protected long ackTimeout = DFLT_ACK_TIMEOUT;
+    protected long ackTimeout; // Must be initialized in the constructor of 
child class.
 
     /** Network timeout. */
     protected long netTimeout = DFLT_NETWORK_TIMEOUT;
@@ -148,6 +142,18 @@ abstract class TcpDiscoverySpiAdapter extends 
IgniteSpiAdapter implements Discov
     protected IgniteLogger log;
 
     /**
+     * Check parameters set to this SPI.
+     */
+    protected void checkParameters() {
+        assertParameter(ipFinder != null, "ipFinder != null");
+        assertParameter(hbFreq > 0, "heartbeatFreq > 0");
+        assertParameter(netTimeout > 0, "networkTimeout > 0");
+        assertParameter(sockTimeout > 0, "sockTimeout > 0");
+        assertParameter(ackTimeout > 0, "ackTimeout > 0");
+        assertParameter(joinTimeout >= 0, "joinTimeout >= 0");
+    }
+
+    /**
      * Inject resources
      *
      * @param ignite Ignite.

Reply via email to