[
https://issues.apache.org/jira/browse/THRIFT-1954?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Roger Meier resolved THRIFT-1954.
---------------------------------
Resolution: Fixed
Fix Version/s: 0.9.3
committed
> Allow for a separate connection timeout value
> ----------------------------------------------
>
> Key: THRIFT-1954
> URL: https://issues.apache.org/jira/browse/THRIFT-1954
> Project: Thrift
> Issue Type: Improvement
> Components: Java - Library
> Reporter: Ahmed Bashir
> Fix For: 0.9.3
>
>
> In TSocket.java, the connect() logic uses the socket timeout value (for
> reads/writes) as the connection timeout, as well:
> {code}
> 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);
> {code}
> 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 was sent by Atlassian JIRA
(v6.3.4#6332)