[ 
https://issues.apache.org/jira/browse/HBASE-10117?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Lars Hofhansl updated HBASE-10117:
----------------------------------

    Fix Version/s: 0.99.0

> Avoid synchronization in HRegionScannerImpl.isFilterDone
> --------------------------------------------------------
>
>                 Key: HBASE-10117
>                 URL: https://issues.apache.org/jira/browse/HBASE-10117
>             Project: HBase
>          Issue Type: Bug
>          Components: Performance
>            Reporter: Lars Hofhansl
>             Fix For: 0.94.15, 0.96.2, 0.98.1, 0.99.0
>
>         Attachments: 10117-0.94-v2.txt, 10117-0.94-v3.txt, 10117-0.94.txt, 
> 10117-trunk-v2.txt, 10117-trunk.txt
>
>
> A while ago I introduced HRegoinScannerImpl.nextRaw() to allow coprocessors 
> and scanners with caching > 1 to avoid repeated synchronization during the 
> scanning (which puts up memory fences, which in turns slows things down on 
> multi core machines).
> Looking at the code again I see that isFilterDone() is called from nextRaw() 
> and isFilterDone() is synchronized. isFilterDone() is only called from two 
> places. The other place is rare in RegionServer.next() when we're bypassing 
> at the request of a coprocessor. We can add synchronization there.



--
This message was sent by Atlassian JIRA
(v6.1.4#6159)

Reply via email to