[ https://issues.apache.org/jira/browse/HBASE-7336?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14050768#comment-14050768 ]
Lars Hofhansl commented on HBASE-7336: -------------------------------------- The trylock stuff is from the patch here: # try to do seek + read (if requested, i.e. a scan) # if that is not possible rather than locking, do a pread immediately. My tests showed a significant improvement, you can always verify yourself. Note that this was 1.5 years ago. Curious... If what you say is true there would be no difference at all between seek+read and pread. That would indeed be bad. Hmm. > HFileBlock.readAtOffset does not work well with multiple threads > ---------------------------------------------------------------- > > Key: HBASE-7336 > URL: https://issues.apache.org/jira/browse/HBASE-7336 > Project: HBase > Issue Type: Sub-task > Components: Performance > Reporter: Lars Hofhansl > Assignee: Lars Hofhansl > Priority: Critical > Fix For: 0.94.4, 0.95.0 > > Attachments: 7336-0.94.txt, 7336-0.96.txt > > > HBase grinds to a halt when many threads scan along the same set of blocks > and neither read short circuit is nor block caching is enabled for the dfs > client ... disabling the block cache makes sense on very large scans. > It turns out that synchronizing in istream in HFileBlock.readAtOffset is the > culprit. -- This message was sent by Atlassian JIRA (v6.2#6252)