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)

Reply via email to