[
https://issues.apache.org/jira/browse/HBASE-10117?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Lars Hofhansl updated HBASE-10117:
----------------------------------
Resolution: Fixed
Hadoop Flags: Reviewed
Status: Resolved (was: Patch Available)
Committed to all 4 branches. Thanks for the review.
> 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
> Assignee: 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
> scanning (which puts up memory fences, which in turn slows things down on
> multi core machines).
> Looking at the code again I see that isFilterDone() is called from nextRaw()
> and isFilterDone() is synchronized.
> The caller of nextRaw is required to ensure single threaded access to
> nextRaw() anyway, we can call an unsynchronized internal version of
> isFilterDone().
--
This message was sent by Atlassian JIRA
(v6.1.4#6159)