[ 
https://issues.apache.org/jira/browse/HBASE-18006?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Enis Soztutar updated HBASE-18006:
----------------------------------
    Attachment: hbase-18006-test.patch

Just attaching a demonstration patch which causes the test to fail. It does a 
move region after caching the region so that the openScanner() RPC call gets a 
{{UnknownRegionException}}. 

I think I know how to fix it, let me attempt a full patch next week. 



> 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, 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