Bryan Beaudreault created HBASE-28348:
-----------------------------------------

             Summary: Multi should return what results it can before rpc timeout
                 Key: HBASE-28348
                 URL: https://issues.apache.org/jira/browse/HBASE-28348
             Project: HBase
          Issue Type: Improvement
            Reporter: Bryan Beaudreault


Scans have a nice feature where they try to return a heartbeat with whatever 
results they have accumulated before the rpc timeout expires. It targets 
returning in 1/2 the rpc timeout or max scanner time. The reason for scans is 
to avoid painful scanner timeouts which cause the scan to have to be restarted 
due to out of sync sequence id.

Multis have a similar problem. A big batch can come in which can't be served in 
the configured timeout. In this case the client side will abandon the request 
when the timeout is exceeded, and resubmit if there are retries/operation 
timeout left. This wastes work since it's likely that some of the results had 
been fetched by the time a timeout occurred.

Multis already can retry immediately when the batch exceeds the max result size 
limit. We can use the same functionality to also return when we've taken more 
than half the rpc timeout.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to