Uploaded image for project: 'Accumulo'
  1. Accumulo
  2. ACCUMULO-4185

Race condition in ProxyDurabilityIT

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 1.7.2
    • Component/s: test
    • Labels:
      None

      Description

      Noticed a failure in ProxyDurabilityIT on $dayjob test infrastructure.

      When using Durability.LOG on a condition update through the proxy, we did not see the update after restarting the tabletserver (in MAC).

      I talked to Eric C. Newton in chat about this because he had made a change as a part of his work in ACCUMULO-3423 in https://github.com/apache/accumulo/commit/3fdd29f5222f9d1d32ca28b5ecf1d740a8d20f87

      Turns out that there is a subtle race condition when using LOG and killing the TabletServer with RawLocalFileSystem. It's possible that even though we wrote an update with LOG durability (it hit the WAL), because we didn't sync it, the update might be lost after a restart. Key word: "might".

      A quick fix is to pull back the change that Eric made to use SYNC and always expect the update to be present.

        Attachments

          Activity

            People

            • Assignee:
              elserj Josh Elser
              Reporter:
              elserj Josh Elser
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0h
                0h
                Logged:
                Time Spent - 0.5h
                0.5h