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

Lars Hofhansl commented on HBASE-9751:
--------------------------------------

Wanna split this into two parts? 
# fix StoreFileScanner
# fix MemstoreScanner

[~vrodionov], note that RegionScanners can outlive an RPC call. They are 
created and then cached and used across multiple calls to next(). Each call to 
next() could be coming from a different handler thread, and hence we need to 
get the readpoint for the thread each time. Not saying it cannot be fixed, just 
saying that we need to be careful.

If there are no objections, I'll commit this (and yes I forgot reseek, will 
add), and then we can open new jiras for the other issues.


> Excessive  readpoints checks in MemStoreScanner and StoreFileScanner
> --------------------------------------------------------------------
>
>                 Key: HBASE-9751
>                 URL: https://issues.apache.org/jira/browse/HBASE-9751
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 0.98.0, 0.94.12, 0.96.0
>            Reporter: Vladimir Rodionov
>            Assignee: Lars Hofhansl
>         Attachments: 9751-0.94.txt, 9751-trunk.txt
>
>
> It seems that usage of skipKVsNewerThanReadpoint in StoreFileScanner can be 
> greatly reduced or even eliminated all together (HFiles are immutable and no 
> new KVs can be inserted after scanner instance is created). The same is true 
> for MemStoreScanner which checks readpoint on every next() and seek(). Each 
> readpoint check is ThreadLocal.get() and it is quite expensive.  



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Reply via email to