Lars Hofhansl created HBASE-10117:
-------------------------------------

             Summary: 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


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