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