nkeywal created HBASE-5924:
------------------------------

             Summary: In the client code, don't wait for all the requests to be 
executed before resubmitting a request in error.
                 Key: HBASE-5924
                 URL: https://issues.apache.org/jira/browse/HBASE-5924
             Project: HBase
          Issue Type: Improvement
          Components: client
    Affects Versions: 0.96.0
            Reporter: nkeywal
            Assignee: nkeywal
            Priority: Minor


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.


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to