hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Duo Zhang (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-18006) AsyncClientScanner does not retry openScan RPCs
Date Fri, 05 May 2017 23:38:04 GMT

    [ https://issues.apache.org/jira/browse/HBASE-18006?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15999123#comment-15999123

Duo Zhang commented on HBASE-18006:

We use {{AsyncSingleRequestRpcRetryingCaller}} to open a scanner, so theoretically it should
retry. {{UnknownRegionException}} is a {{DoNotRetryIOException}} so it is reasonable to give
up retry I think? Let me check your test.


> 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
>         Attachments: hbase-18006-test.patch
> 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,
>       });
> {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

View raw message