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

In the client code, don't wait for all the requests to be executed before resubmitting a request in error.

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 0.95.2
    • Fix Version/s: 0.95.0
    • Component/s: Client
    • Labels:
      None
    • Hadoop Flags:
      Reviewed
    • Tags:
      0.96notable

      Description

      The client (in the function HConnectionManager#processBatchCallback) works in two steps:

      • make the requests
      • collect the failures and successes and prepare for retry

      It means that when there is an immediate error (region moved, split, dead server, ...) we still wait for all the initial requests to be executed before submitting again the failed request. If we have a scenario with all the requests taking 5 seconds we have a final execution time of: 5 (initial requests) + 1 (wait time) + 5 (final request) = 11s.

      We could improve this by analyzing immediately the results. This would lead us, for the scenario mentioned above, to 6 seconds.

      So we could have a performance improvement of nearly 50% in many cases, and much more than 50% if the request execution time is different.

        Attachments

        1. 5924.v9.patch
          32 kB
          Nicolas Liochon
        2. 5924.v5.patch
          29 kB
          Nicolas Liochon
        3. 5924.v19.patch
          50 kB
          Nicolas Liochon
        4. 5924.v14.patch
          49 kB
          Nicolas Liochon
        5. 5924.v11.patch
          43 kB
          Nicolas Liochon

          Issue Links

            Activity

              People

              • Assignee:
                nkeywal Nicolas Liochon
                Reporter:
                nkeywal Nicolas Liochon
              • Votes:
                0 Vote for this issue
                Watchers:
                7 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: