[
https://issues.apache.org/jira/browse/HBASE-5924?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13289703#comment-13289703
]
Zhihong Ted Yu commented on HBASE-5924:
---------------------------------------
Nice work.
{code}
private static class Process<R> {
{code}
Can we name the above class more meaningfully ? javadoc is desirable.
{code}
* @param sleepTime - sleep time befora actually executing the actions.
Can be zero.
{code}
'befora' -> 'before'
{code}
for (Action<R> aTodo : actionsList) {
{code}
aToDo -> anAction ?
{code}
Callable<MultiResponse> callable = createDelayedCallable(sleepTime,
e.getKey(), e.getValue());
Triple<MultiAction<R>, HRegionLocation, Future<MultiResponse>> p =
new Triple<MultiAction<R>, HRegionLocation,
Future<MultiResponse>>(e.getValue(), e.getKey(), this.pool.submit(callable));
{code}
Wrap the two long lines above.
{code}
throw new IllegalArgumentException(
"argument results must be the same size as argument list");
{code}
It would be nice to include the sizes in exception message.
> 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
> Attachments: 5924.v5.patch
>
>
> 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