[ https://issues.apache.org/jira/browse/HBASE-10117?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13844880#comment-13844880 ]
Hudson commented on HBASE-10117: -------------------------------- SUCCESS: Integrated in HBase-0.94-security #356 (See [https://builds.apache.org/job/HBase-0.94-security/356/]) HBASE-10117 Avoid synchronization in HRegionScannerImpl.isFilterDone (larsh: rev 1549917) * /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java > 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)