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

No soft flush trigger on global memstore limit

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Critical
    • Resolution: Fixed
    • 0.90.0
    • 0.90.1
    • Performance, regionserver
    • None
    • 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

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

              Dates

                Created:
                Updated:
                Resolved: