Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-18006

AsyncClientScanner does not retry openScan RPCs

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Critical
    • Resolution: Not A Problem
    • None
    • 2.0.0
    • None
    • None

    Description

      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:

            stub.scan(controller, request, resp -> {
              if (controller.failed()) {
                future.completeExceptionally(controller.getFailed());
                return;
              }
              future.complete(new OpenScannerResponse(loc, isRegionServerRemote, stub, controller, resp));
            });
      

      So, if the open scan gets an UnknownScannerException or something, instead of retrying, it just fails the whole scan.

      Apache9 FYI.

      Attachments

        1. hbase-18006-test.patch
          3 kB
          Enis Soztutar

        Activity

          People

            Unassigned Unassigned
            enis Enis Soztutar
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: