Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-10117

Avoid synchronization in HRegionScannerImpl.isFilterDone

    Details

    • Hadoop Flags:
      Reviewed

      Description

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

        Attachments

        1. 10117-0.94.txt
          2 kB
          Lars Hofhansl
        2. 10117-0.94-v2.txt
          3 kB
          Lars Hofhansl
        3. 10117-0.94-v3.txt
          0.8 kB
          Lars Hofhansl
        4. 10117-trunk.txt
          2 kB
          Lars Hofhansl
        5. 10117-trunk-v2.txt
          1 kB
          Lars Hofhansl

          Activity

            People

            • Assignee:
              lhofhansl Lars Hofhansl
              Reporter:
              lhofhansl Lars Hofhansl
            • Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: