You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "ramkrishna.s.vasudevan (JIRA)" <ji...@apache.org> on 2017/04/13 07:58:41 UTC

[jira] [Commented] (HBASE-17910) Use separated StoreFileReader for streaming read

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

ramkrishna.s.vasudevan commented on HBASE-17910:
------------------------------------------------

[~Apache9]
So how about the file handlers that are active? Already HBase has high number of active readers right? And compaction allows to reduce the active file handlers also. Do you think that could be a problem? Just asking.

> Use separated StoreFileReader for streaming read
> ------------------------------------------------
>
>                 Key: HBASE-17910
>                 URL: https://issues.apache.org/jira/browse/HBASE-17910
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Duo Zhang
>
> For now we have already supportted using private readers for compaction, by creating a new StoreFile copy. I think a better way is to allow creating multiple readers from a single StoreFile instance, thus we can avoid the ugly cloning, and the reader can also be used for streaming scan, not only for compaction.
> The reason we want to do this is that, we found a read amplification when using short circult read. {{BlockReaderLocal}} will use an internal buffer to read data first, the buffer size is based on the configured buffer size and the readahead option in CachingStrategy. For normal pread request, we should just bypass the buffer, this can be achieved by setting readahead to 0. But for streaming read I think the buffer is somehow still useful? So we need to use different FSDataInputStream for pread and streaming read.
> And one more thing is that, we can also remove the streamLock if streaming read always use its own reader.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)