[
https://issues.apache.org/jira/browse/HBASE-16664?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15557544#comment-15557544
]
Phil Yang commented on HBASE-16664:
-----------------------------------
{code}
CancellableRegionServerCallable callable = currentCallable;
...
if (callable == null) {
callable = createCallable(server, tableName, multiAction);
}
{code}
I think I know why I said " we will create new CancellableRegionServerCallable
in each retrying". The AsyncRequestFutureImpl's currentCallable is null when
constructed. And we will create a new callable if currentCallable is null, but
callable is a local variable, we will not set it to currentCallable. So it is
always null so we will recreate it in retrying. So the RetryingTimeTracker in
CancellableRegionServerCallable is always a new tracker for each retry. I think
we can create a new callable assigning to currentCallable directly.
> Timeout logic in AsyncProcess is broken
> ---------------------------------------
>
> Key: HBASE-16664
> URL: https://issues.apache.org/jira/browse/HBASE-16664
> Project: HBase
> Issue Type: Bug
> Reporter: Phil Yang
> Assignee: Phil Yang
> Attachments: 1.patch, HBASE-16664-v1.patch, HBASE-16664-v2.patch,
> testhcm.patch
>
>
> Have not checked the root cause, but I think timeout of all operations in
> AsyncProcess is broken
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)