[ 
https://issues.apache.org/jira/browse/HBASE-27570?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Bryan Beaudreault updated HBASE-27570:
--------------------------------------
    Fix Version/s: 2.6.0
                   3.0.0-alpha-4
     Release Note: Unifies block IO accounting code across all request types. 
As a result, the behavior of MultiActionResultTooLarge handling may change 
slightly. In certain circumstances, a multiget might trip the "too large" 
threshold sooner than it used to in the past. This should largely be 
transparent to users since the client automatically retries, and the behavior 
change should only be noticeable for very large multigets that fetch many rows 
from the same block.
       Resolution: Fixed
           Status: Resolved  (was: Patch Available)

Pushed to master and branch-2. Thanks for the review [~zhangduo] 

> Unify tracking of block IO across all read request types
> --------------------------------------------------------
>
>                 Key: HBASE-27570
>                 URL: https://issues.apache.org/jira/browse/HBASE-27570
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Bryan Beaudreault
>            Assignee: Bryan Beaudreault
>            Priority: Major
>              Labels: patch-available
>             Fix For: 2.6.0, 3.0.0-alpha-4
>
>
> Various requests in RSRpcServices use 
> [addSize|https://github.com/apache/hbase/blob/master/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java#L1303-L1335]
>  in an attempt to estimate block IO of the request by pulling the capacity of 
> the underlying cell buffer when that buffer changes. This is just an estimate 
> and can be inaccurate in certain circumstances, such as when the ordering of 
> gets in a multiget causes the same buffer to be counted twice.
> As of HBASE-27558, we now have a hook in StoreScanner for tracking block IO 
> via HFileReaderImpl.reportBlockSize method call. We use this for getting 
> block IO into ScannerContext for tracking limits. We can add a call to 
> RpcCall.incrementResponseBlockSize here so that we can get an accurate 
> accounting of block IO for all request types.



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

Reply via email to