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

Memstore size becomes negative in case of expensive postPut/Delete Coprocessor call

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 1.3.1, 0.98.24, 2.0.0
    • 1.4.0, 1.2.6, 1.3.2, 1.1.11, 2.0.0
    • regionserver
    • None
    • Reviewed

    Description

      We ran into a situation where the memstore size became negative due to expensive postPut/Delete Coprocessor calls in doMiniBatchMutate. We update the memstore size in the finally block of doMiniBatchMutate, however a queued flush can be triggered during the coprocessor calls(if they are taking time eg. index updates) since we have released the locks and advanced mvcc at this point. The flush will turn the memstore size negative since the value subtracted is the actual value flushed from stores. The negative value impacts the future flushes amongst others that depend on memstore size.

      Attachments

        1. HBASE-17937.master.003.patch
          7 kB
          Abhishek Singh Chouhan
        2. HBASE-17937.branch-1.002.patch
          6 kB
          Abhishek Singh Chouhan
        3. HBASE-17937.master.003.patch
          7 kB
          Abhishek Singh Chouhan
        4. HBASE-17937.master.002.patch
          6 kB
          Abhishek Singh Chouhan
        5. HBASE-17937.branch-1.001.patch
          6 kB
          Abhishek Singh Chouhan
        6. HBASE-17937.master.002.patch
          6 kB
          Abhishek Singh Chouhan
        7. HBASE-17937.master.001.patch
          6 kB
          Abhishek Singh Chouhan

        Activity

          People

            abhishek.chouhan Abhishek Singh Chouhan
            abhishek.chouhan Abhishek Singh Chouhan
            Votes:
            0 Vote for this issue
            Watchers:
            12 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: