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

Region report a last flushed sequence id that is less than the previous last flushed sequence id

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Duplicate
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None
    • Labels:
      None

      Description

      Since append will be published to RingBuffer and handled asynchronously, it's possible that one append (say append-X) of the region handled by RingBufferEventHandler between startCacheFlush and getNextSequenceId, and reset FSHLog#oldestUnflushedStoreSequenceIds which we just cleared in #startCacheFlush. This might disturb ServerManager#flushedSequenceIdByRegion like shown below (assume region-A has two CF: cfA and cfB)

      1. flush-A runs to startCacheFlush and it will flush both cfA and cfB, oldestUnflushedStoreSequenceIds of regionA got cleared
      2. append-X on cfB handled by RingBufferEventHandler, oldestUnflushedStoreSequenceIds set to 10, for example
      3. flush-A runs to getNextSequenceId and returned 11
      4. ServerManager#flushedSequenceIdByRegion for regionA set to 11
      5. flush-A finishes
      6. flush-B starts and only flush cfA, getNextSequenceId returned 10, and flushedSeqId will return 9, and cause warning in ServerManager

      Since this append-X will also got flushed, we should clear the oldestUnflushedStoreSequenceIds again to make sure we won't disturb
      ServerManager#flushedSequenceIdByRegion.

        Attachments

        1. HBASE-16994_master_v1.patch
          7 kB
          Lijin Bin
        2. HBASE-16994_master_v2.patch
          8 kB
          Lijin Bin

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                binlijin Lijin Bin
              • Votes:
                0 Vote for this issue
                Watchers:
                8 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: