Retrying socket connection failure times can be made as configurable
--------------------------------------------------------------------

                 Key: HADOOP-7086
                 URL: https://issues.apache.org/jira/browse/HADOOP-7086
             Project: Hadoop Common
          Issue Type: Improvement
          Components: conf
    Affects Versions: 0.21.0
         Environment: NA
            Reporter: Devaraj K
            Priority: Minor
             Fix For: 0.22.0


Retrying socket connection failure times are hard coded as 45 and it is giving 
the retryring message for 45 times as below. 

2011-01-04 15:14:30,700 INFO ipc.Client 
(Client.java:handleConnectionFailure(487)) - Retrying connect to server: 
/10.18.52.124:50020. Already tried 1 time(s).

This can be made as configurable and also we can keep the default value as 45. 
If the user wants to decrease/increase,  they can add this configurable 
property otherwise it can continue with the default value.

common\src\java\org\apache\hadoop\ipc\Client.java:
-----------------------------------------------------------------------

private synchronized void setupConnection() throws IOException {
      short ioFailures = 0;
      short timeoutFailures = 0;
      while (true) {
        try {
          this.socket = socketFactory.createSocket();
          this.socket.setTcpNoDelay(tcpNoDelay);
          // connection time out is 20s
          NetUtils.connect(this.socket, remoteId.getAddress(), 20000);
          if (rpcTimeout > 0) {
            pingInterval = rpcTimeout;  // rpcTimeout overwrites pingInterval
          }
          this.socket.setSoTimeout(pingInterval);
          return;
        } catch (SocketTimeoutException toe) {
          /*
           * The max number of retries is 45, which amounts to 20s*45 = 15
           * minutes retries.
           */
          handleConnectionFailure(timeoutFailures++, 45, toe);
        } catch (IOException ie) {
          handleConnectionFailure(ioFailures++, maxRetries, ie);
        }
      }
    }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to