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

Do not collect deleted KVs when they are still in use by a scanner.

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 0.94.0, 0.95.0
    • Component/s: None
    • Labels:
      None
    • Hadoop Flags:
      Reviewed

      Description

      I noticed this because TestAtomicOperation.testMultiRowMutationMultiThreads fails rarely.
      The solution is similar to HBASE-2856, where expired KVs are not collected when in use by a scanner.


      What I pieced together so far is that it is the scanning side that has problems sometimes.

      Every time I see a assertion failure in the log I see this before:

      2012-03-12 21:48:49,523 DEBUG [Thread-211] regionserver.StoreScanner(499): Storescanner.peek() is changed where before = rowB/colfamily11:qual1/75366/Put/vlen=6,and after = rowB/colfamily11:qual1/75203/DeleteColumn/vlen=0

      The order of if the Put and Delete is sometimes reversed.

      The test threads should always see exactly one KV, if the "before" was the Put the thread see 0 KVs, if the "before" was the Delete the threads see 2 KVs.

      This debug message comes from StoreScanner to checkReseek. It seems we still some consistency issue with scanning sometimes

        Attachments

        1. 5569.txt
          0.7 kB
          Lars Hofhansl
        2. 5569-v2.txt
          3 kB
          Lars Hofhansl
        3. 5569-v3.txt
          5 kB
          Lars Hofhansl
        4. 5569-v4.txt
          6 kB
          Lars Hofhansl
        5. TestAtomicOperation-output.trunk_120313.rar
          19 kB
          Nicolas Liochon

          Issue Links

            Activity

              People

              • Assignee:
                lhofhansl Lars Hofhansl
                Reporter:
                lhofhansl Lars Hofhansl
              • Votes:
                0 Vote for this issue
                Watchers:
                5 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: