Enis Soztutar created HBASE-18006:
-------------------------------------
Summary: AsyncClientScanner does not retry openScan RPCs
Key: HBASE-18006
URL: https://issues.apache.org/jira/browse/HBASE-18006
Project: HBase
Issue Type: Bug
Reporter: Enis Soztutar
Priority: Critical
Fix For: 2.0.0
I have been reading the code for the new async scan paths excessively, and
noticed that there is a problem in the retrying layer for openScan RPCs.
In AsyncClientScanner#callOpenScanner() we are doing a open scan RPC. The
retrying logic comes from using the single rpc retrying caller in
openScanner(). However, we have the logic for failing the scanner if any of the
RPC calls here:
{code}
stub.scan(controller, request, resp -> {
if (controller.failed()) {
future.completeExceptionally(controller.getFailed());
return;
}
future.complete(new OpenScannerResponse(loc, isRegionServerRemote,
stub, controller, resp));
});
{code}
So, if the open scan gets an UnknownScannerException or something, instead of
retrying, it just fails the whole scan.
[~Apache9] FYI.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)