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

[Performance] Considering reverting HBASE-10015 - reinstate synchronized in StoreScanner

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Critical
    • Resolution: Won't Fix
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: Performance
    • Labels:
      None

      Description

      In HBASE-10015 back then I found that intrinsic locks (synchronized) in StoreScanner are slower that explicit locks.

      I was surprised by this. To make sure I added a simple perf test and many folks ran it on their machines. All found that explicit locks were faster.

      Now... I just ran that test again. On the latest JDK8 I find that now the intrinsic locks are significantly faster:
      (OpenJDK Runtime Environment (build 1.8.0_72-b15))

      Explicit locks:
      10 runs mean:2223.6 sigma:72.29412147609237

      Intrinsic locks:
      10 runs mean:1865.3 sigma:32.63755505548784

      I confirmed the same with timing some Phoenix scans. We can save a bunch of time by changing this back

      Arrghhh... So maybe it's time to revert this now...?

      (Note that in trunk due to ramkrishna.s.vasudevan's work, we do not lock in StoreScanner anymore)

      I'll attach the perf test and a patch that changes lock to synchronized, if some folks could run this on 0.98, that'd be great.

        Attachments

        1. 15453-0.98.txt
          8 kB
          Lars Hofhansl

          Activity

            People

            • Assignee:
              larsh Lars Hofhansl
              Reporter:
              larsh Lars Hofhansl
            • Votes:
              0 Vote for this issue
              Watchers:
              10 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: