Details
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
Attachments
Issue Links
- is related to
-
HBASE-5877 When a query fails because the region has moved, let the regionserver return the new address to the client
- Closed
- is required by
-
HBASE-5843 Improve HBase MTTR - Mean Time To Recover
- Closed
- relates to
-
HBASE-2121 HBase client doesn't retry the right number of times when a region is unavailable
- Closed