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

Combine MVCC and SeqId



    • Improvement
    • Status: Closed
    • Critical
    • Resolution: Fixed
    • None
    • 0.99.0
    • regionserver
    • None
    • Reviewed


      HBASE-8701 and a lot of recent issues include good discussions about mvcc + seqId semantics. It seems that having mvcc and the seqId complicates the comparator semantics a lot in regards to flush + WAL replay + compactions + delete markers and out of order puts.

      Thinking more about it I don't think we need a MVCC write number which is different than the seqId. We can keep the MVCC semantics, read point and smallest read points intact, but combine mvcc write number and seqId. This will allow cleaner semantics + implementation + smaller data files.

      We can do some brainstorming for 0.98. We still have to verify that this would be semantically correct, it should be so by my current understanding.


        1. hbase-8763_wip1.patch
          128 kB
          Enis Soztutar
        2. hbase-8736-poc.patch
          27 kB
          Jeffrey Zhong
        3. hbase-8763-poc-v1.patch
          33 kB
          Jeffrey Zhong
        4. hbase-8763-v1.patch
          37 kB
          Jeffrey Zhong
        5. HBase MVCC & LogSeqId Combined.pdf
          52 kB
          Jeffrey Zhong
        6. hbase-8763-v2.patch
          67 kB
          Jeffrey Zhong
        7. hbase-8763-v3.patch
          68 kB
          Jeffrey Zhong
        8. hbase-8763-v4.patch
          70 kB
          Jeffrey Zhong
        9. hbase-8763-v5.patch
          70 kB
          Jeffrey Zhong
        10. hbase-8763-v5.1.patch
          84 kB
          Jeffrey Zhong
        11. hbase-8763-v5.2.patch
          85 kB
          Jeffrey Zhong

        Issue Links

          There are no Sub-Tasks for this issue.



              jeffreyz Jeffrey Zhong
              enis Enis Soztutar
              0 Vote for this issue
              32 Start watching this issue