Bryan Beaudreault created HBASE-27781:
-----------------------------------------

             Summary: AssertionError in AsyncRequestFutureImpl when timing out 
during location resolution
                 Key: HBASE-27781
                 URL: https://issues.apache.org/jira/browse/HBASE-27781
             Project: HBase
          Issue Type: Bug
            Reporter: Bryan Beaudreault


In AsyncFutureRequestImpl we fail fast when operation timeout is exceeded 
during location resolution 
[here|https://github.com/apache/hbase/blob/branch-2.5/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncRequestFutureImpl.java#L460-L462].
 In that handling, we loop all actions and set them as failed. The problem is, 
some number of actions may already finished when we get to this spot. So the 
actionsInProgress would have been decremented for those already, and now we're 
going to decrement by all actions. This causes an assertion error since we go 
negative 
[here|https://github.com/apache/hbase/blob/branch-2.5/hbase-client/src/main/java/org/apache/hadoop/hbase/client/AsyncRequestFutureImpl.java#L1197]

We still want to fail all actions, because none will be executed. But we need 
special handling to avoid this case. Maybe don't bother decrementing the 
actionsInProgress at all, instead set to 0.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to