[ 
https://issues.apache.org/jira/browse/HBASE-27896?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17750873#comment-17750873
 ] 

Hudson commented on HBASE-27896:
--------------------------------

Results for branch branch-3
        [build #25 on 
builds.a.o|https://ci-hbase.apache.org/job/HBase%20Nightly/job/branch-3/25/]: 
(x) *{color:red}-1 overall{color}*
----
details (if available):

(/) {color:green}+1 general checks{color}
-- For more information [see general 
report|https://ci-hbase.apache.org/job/HBase%20Nightly/job/branch-3/25/General_20Nightly_20Build_20Report/]




(/) {color:green}+1 jdk8 hadoop3 checks{color}
-- For more information [see jdk8 (hadoop3) 
report|https://ci-hbase.apache.org/job/HBase%20Nightly/job/branch-3/25/JDK8_20Nightly_20Build_20Report_20_28Hadoop3_29/]


(/) {color:green}+1 jdk11 hadoop3 checks{color}
-- For more information [see jdk11 
report|https://ci-hbase.apache.org/job/HBase%20Nightly/job/branch-3/25/JDK11_20Nightly_20Build_20Report_20_28Hadoop3_29/]


(x) {color:red}-1 source release artifact{color}
-- See build output for details.


(x) {color:red}-1 client integration test{color}
-- Something went wrong with this stage, [check relevant console 
output|https://ci-hbase.apache.org/job/HBase%20Nightly/job/branch-3/25//console].


> Disable hdfs readahead for pread reads
> --------------------------------------
>
>                 Key: HBASE-27896
>                 URL: https://issues.apache.org/jira/browse/HBASE-27896
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: Bryan Beaudreault
>            Assignee: Bryan Beaudreault
>            Priority: Major
>             Fix For: 2.6.0, 3.0.0-beta-1
>
>
> In https://issues.apache.org/jira/browse/HBASE-17914, a flag was introduced 
> {{{}hbase.store.reader.no-readahead{}}}. The default is false, so readahead 
> is enabled. This flag is used for creating the default store reader (i.e. the 
> one used by PREAD reads). Stream readers don't use this flag, instead they 
> always pass -1.
> When that flag is true, we pass a readahead value of 0 to 
> FSDataInputStream.setReadahead. When the flag is false, we pass -1 which 
> triggers hdfs default behavior. The default behavior is to use a readahead of 
> 4MB.
> It seems to me that we don't want readahead for PREAD reads, and especially 
> not such a large readahead. Our default block size is 64kb, which is much 
> smaller than that. A PREAD read is not likely to do sequential IO, so not 
> likely to utilize the cached readahead buffer.
> I set no-readahead to true in a few of our clusters and in each case saw a 
> massive reduction in disk IO and thus increase in throughput. I load tested 
> this in a test cluster which does fully random reads of ~300 byte rows on a 
> dataset which is 20x larger than memory. The load test was able to achieve 
> nearly double the throughput.
> As a follow-on, we might consider tuning the readahead for STREAM reads. 4mb 
> seems way too big for many common workloads.



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

Reply via email to