[ 
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)

Reply via email to