You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Lars Hofhansl (JIRA)" <ji...@apache.org> on 2013/12/10 08:01:15 UTC

[jira] [Assigned] (HBASE-10117) Avoid synchronization in HRegionScannerImpl.isFilterDone

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

Lars Hofhansl reassigned HBASE-10117:
-------------------------------------

    Assignee: Lars Hofhansl

> 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 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)