[ 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)