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

No soft flush trigger on global memstore limit

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: 0.90.0
    • Fix Version/s: 0.90.1
    • Component/s: Performance, regionserver
    • Labels:
      None
    • Hadoop Flags:
      Reviewed

      Description

      I think this is the reason people see long blocking periods under write load.

      Currently when we hit the global memstore limit, we call reclaimMemStoreMemory() which is synchronized - thus everyone has to wait until the memory has flushed down to the low water mark. This causes every writer to block for 10-15 seconds on a large heap.

      Instead we should start triggering flushes (in another thread) whenever we're above the low water mark. Then only block writers when we're above the high water mark.

        Attachments

        1. hbase-3483.txt
          12 kB
          Todd Lipcon
        2. hbase-3483.txt
          12 kB
          Todd Lipcon

          Issue Links

            Activity

              People

              • Assignee:
                tlipcon Todd Lipcon
                Reporter:
                tlipcon Todd Lipcon
              • Votes:
                1 Vote for this issue
                Watchers:
                9 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: