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

Avoid synchronization in HRegionScannerImpl.isFilterDone

    XMLWordPrintableJSON

Details

    • 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-trunk-v2.txt
          1 kB
          Lars Hofhansl
        2. 10117-0.94-v3.txt
          0.8 kB
          Lars Hofhansl
        3. 10117-trunk.txt
          2 kB
          Lars Hofhansl
        4. 10117-0.94-v2.txt
          3 kB
          Lars Hofhansl
        5. 10117-0.94.txt
          2 kB
          Lars Hofhansl

        Activity

          People

            larsh Lars Hofhansl
            larsh Lars Hofhansl
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: