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

Vladimir Rodionov commented on HBASE-9751:
------------------------------------------

The performance advantage of *Bytes.equalsTo* over *Bytes.compareTo* outweigh 
any possible extra IO look up regardless of a size of a Scan operation. For 
short scans it will work as pre-fetching of index and data , for long scans - 
the extra IO seek time is negligible. 
Sure, ThreadLocals needs to be removed from scanners. Too expensive, especially 
when you have direct access to memory or cache.

> Excessive  readpoints checks in 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
>             Fix For: 0.98.0, 0.94.13, 0.96.1
>
>         Attachments: 9751-0.94.txt, 9751-0.94-v2.txt, 9751-trunk.txt, 
> 9751-trunk-v2.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