ExportXMLWordPrintableJSON

    • Type: Task
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • DB Integration & Observability
    • 200
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      Background

      After T1-T4, no test waits on the absolute failpoint counter by accident. But nothing stops someone from writing fpb->waitForTimesEntered(1) again in the future.

      What to do

      Change FailPoint::waitForTimesEntered so that absolute waits can't be written by accident. Evaluate three options and pick one:

      • (a) require an explicit AbsoluteEntryCount{n} wrapper type
      • (b) make the method private, reachable only through FailPointEnableBlock
      • (c) rename it to waitForAbsoluteTimesEntered

      Done when

      • fpb->waitForTimesEntered(1) no longer compiles. If (c) is chosen, the old name no longer exists.
      • The whole tree builds. The intentional uses in fail_point_test.cpp use the new spelling.
      • The PR description compares (a), (b), and (c) and explains the choice.

      Details

      See attached pr5_restrict_absolute_api.md: the trade-offs of each option, which callers block option (b), and how to verify.

            Assignee:
            Charlie Swanson
            Reporter:
            Charlie Swanson
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: