You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Enis Soztutar (JIRA)" <ji...@apache.org> on 2017/05/05 23:19:04 UTC

[jira] [Created] (HBASE-18006) AsyncClientScanner does not retry openScan RPCs

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)