You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Ahmed Bashir (JIRA)" <ji...@apache.org> on 2013/05/02 02:58:15 UTC

[jira] [Created] (THRIFT-1954) Allow for a separate connection timeout value

Ahmed Bashir created THRIFT-1954:
------------------------------------

             Summary: Allow for a separate connection timeout value 
                 Key: THRIFT-1954
                 URL: https://issues.apache.org/jira/browse/THRIFT-1954
             Project: Thrift
          Issue Type: Improvement
            Reporter: Ahmed Bashir


In TSocket.java, the connect() logic uses the socket timeout value (for reads/writes) as the connection timeout, as well:

  public void open() throws TTransportException {
    if (isOpen()) {
      throw new TTransportException(TTransportException.ALREADY_OPEN, "Socket already connected.");
    }

    if (host_.length() == 0) {
      throw new TTransportException(TTransportException.NOT_OPEN, "Cannot open null host.");
    }
    if (port_ <= 0) {
      throw new TTransportException(TTransportException.NOT_OPEN, "Cannot open without port.");
    }

    if (socket_ == null) {
      initSocket();
    }

    try {
      socket_.connect(new InetSocketAddress(host_, port_), timeout_); <--- this value should be a separately defined
      inputStream_ = new BufferedInputStream(socket_.getInputStream(), 1024);

In many applications, the duration of time one is willing to wait before establishing a connection is not the same as the duration of time one is willing to wait before timing out on a read.  

For example, I may want to time out on establishing a connection after 1 second but am willing to wait 10 seconds for long reads to complete.

Please create a separate value that can be passed into the constructor, thanks

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira