Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-19154 Scan consistency guarantee
  3. HBASE-17177

Compaction can break the region/row level atomic when scan even if we pass mvcc to client

    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Open
    • Critical
    • Resolution: Unresolved
    • None
    • None
    • Scanners
    • None

    Description

      We know that major compaction will actually delete the cells which are deleted by a delete marker. In order to give a consistent view for a scan, we need to use a map to track the read points for all scanners for a region, and the smallest one will be used for a compaction. For all delete markers whose mvcc is greater than this value, we will not use it to delete other cells.

      And the problem for a scan restart after region move is that, the new RS does not have the information of the scanners opened at the old RS before the client sends scan requests to the new RS which means the read points map is incomplete and the smallest read point maybe greater than the correct value. So if a major compaction happens at that time, it may delete some cells which should be kept.

      Attachments

        Activity

          People

            Unassigned Unassigned
            zhangduo Duo Zhang
            Votes:
            0 Vote for this issue
            Watchers:
            13 Start watching this issue

            Dates

              Created:
              Updated: