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)