Accumulo
  1. Accumulo
  2. ACCUMULO-2172

Concurrent compactions before machine failure may cause uneeded recovery

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.5.0
    • Fix Version/s: 1.5.1, 1.6.0
    • Component/s: None
    • Labels:
      None

      Description

      John Vines noticed that minc finish events are not synced to the walog. I was looking into this issue to see if it was a problem and I noticed a possible issue w/ this. If the following sequence of events occurs, its possible that duplicate recovery may occur.

      1. Tablet T1 writes File F1 to metadata table after minor compaction
      2. T1 write minc finish event to walog (no sync is done and info not in walog)
      3. T1 adds F1 to set of files in tablets memory
      4. T1 major compacts F1 into F2
      5. Tablet server serving T1 fails (and nothing synced walog)
      6. T1 recovers data in F1 because there is no finish event or file in metadata table

      Step 2 must sync before step 3, because step 3 makes the file eligible for major compaction. Its seems like the sync could be done using group commit for efficiency.

        Activity

          People

          • Assignee:
            Eric Newton
            Reporter:
            Keith Turner
          • Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development