You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Jimmy Xiang (JIRA)" <ji...@apache.org> on 2013/08/09 01:59:47 UTC
[jira] [Created] (HBASE-9167) ServerCallable retries just once if
timeout is not integer.max
Jimmy Xiang created HBASE-9167:
----------------------------------
Summary: ServerCallable retries just once if timeout is not integer.max
Key: HBASE-9167
URL: https://issues.apache.org/jira/browse/HBASE-9167
Project: HBase
Issue Type: Bug
Components: Client
Affects Versions: 0.94.10
Reporter: Jimmy Xiang
Assignee: Jimmy Xiang
If callTimeout is not integer.max and throwable is not SocketTimeoutException, we set the callTimeout to a negative value since endTime is not set yet. Therefore, the next call will always throw SocketTimeoutException.
{noformat}
if (this.callTimeout != HConstants.DEFAULT_HBASE_CLIENT_OPERATION_TIMEOUT)
if (throwable instanceof SocketTimeoutException
|| (this.endTime - this.startTime > this.callTimeout)) {
throw (SocketTimeoutException) (SocketTimeoutException) new SocketTimeoutException(
"Call to access row '" + Bytes.toString(row) + "' on table '"
+ Bytes.toString(tableName)
+ "' failed on socket timeout exception: " + throwable)
.initCause(throwable);
} else {
===> this.callTimeout = ((int) (this.endTime - this.startTime));
}
{noformat}
--
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