Details

    • Sub-task
    • Status: Closed
    • Blocker
    • Resolution: Fixed
    • 1.3.0, 2.0.0
    • 1.4.0, 1.3.2, 2.0.0
    • regionserver
    • None
    • Reviewed
    • Now we pass on list of memstoreScanners to the StoreScanner along with the new files to ensure that the StoreScanner sees the latest memstore after flush.

    Description

      The scanner of latest memstore may be lost if we make quick flushes. The following step may help explain this issue.

      1. put data_A (seq id = 10, active store data_A and snapshots is empty)
      2. snapshot of 1st flush (active is empty and snapshot stores data_A)
      3. put data_B (seq id = 11, active store data_B and snapshot store data_A)
      4. create user scanner (read point = 11, so It should see the data_B)
      5. commit of 1st flush
        • clear snapshot ((hfile_A has data_A, active store data_B, and snapshot is empty)
        • update the reader (the user scanner receives the hfile_A)
      6. snapshot of 2st flush (active is empty and snapshot store data_B)
      7. commit of 2st flush
        • clear snapshot (hfile_A has data_A, hfile_B has data_B, active is empty, and snapshot is empty) – this is critical piece.
        • update the reader (haven't happen)
      8. user scanner update the kv scanners (it creates scanner of hfile_A but nothing of memstore)
      9. user see the older data A – wrong result

      Attachments

        1. HBASE-17887.v5.patch
          25 kB
          Chia-Ping Tsai
        2. HBASE-17887.v5.patch
          25 kB
          Chia-Ping Tsai
        3. HBASE-17887.branch-1.v6.patch
          57 kB
          Chia-Ping Tsai
        4. HBASE-17887.v4.patch
          25 kB
          Chia-Ping Tsai
        5. HBASE-17887.branch-1.v5.patch
          57 kB
          Chia-Ping Tsai
        6. HBASE-17887.v3.patch
          28 kB
          Chia-Ping Tsai
        7. HBASE-17887.v2.patch
          28 kB
          Chia-Ping Tsai
        8. HBASE-17887.ut.patch
          8 kB
          Chia-Ping Tsai
        9. HBASE-17887.branch-1.v4.patch
          61 kB
          Chia-Ping Tsai
        10. HBASE-17887.branch-1.v4.patch
          61 kB
          Chia-Ping Tsai
        11. HBASE-17887.branch-1.v4.patch
          61 kB
          Chia-Ping Tsai
        12. HBASE-17887.branch-1.v3.patch
          61 kB
          Chia-Ping Tsai
        13. HBASE-17887.branch-1.v2.patch
          13 kB
          Chia-Ping Tsai
        14. HBASE-17887.branch-1.v2.patch
          13 kB
          Chia-Ping Tsai
        15. HBASE-17887.v1.patch
          13 kB
          Chia-Ping Tsai
        16. HBASE-17887.v0.patch
          13 kB
          Chia-Ping Tsai
        17. HBASE-17887.branch-1.v1.patch
          13 kB
          Chia-Ping Tsai
        18. HBASE-17887.branch-1.v1.patch
          13 kB
          Chia-Ping Tsai
        19. HBASE-17887.branch-1.v0.patch
          11 kB
          Chia-Ping Tsai

        Issue Links

          Activity

            People

              chia7712 Chia-Ping Tsai
              uagashe Umesh Agashe
              Votes:
              0 Vote for this issue
              Watchers:
              23 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: