-
Type:
Task
-
Resolution: Unresolved
-
Priority:
Major - P3
-
Affects Version/s: None
-
Component/s: None
-
DB Integration & Observability
-
200
-
None
-
None
-
None
-
None
-
None
-
None
-
None
Background
A failpoint's hit counter is process-wide and is never reset between tests in the same unit-test binary. So waitForTimesEntered(1) returns immediately if an earlier test already hit it, and the wait silently does nothing.
What to do
Two other tests have the same bug as T2. Convert both to count only new hits:
- async_rpc_test.cpp (CancelAfterNetworkResponse)
- version_context_decoration_test.cpp (FixedOperationFCVRegionSetDuringFcvTransition)
Both enable the failpoint with a raw setMode() call, not a FailPointEnableBlock. Switching them to a block also turns the failpoint off automatically if the test fails partway through.
Done when
- No FailPoint::waitForTimesEntered(<number>) call remains outside fail_point_test.cpp. That file tests the absolute API on purpose.
- Both tests pass.
Details
See attached pr3_literal_sweep.md: a table of every place the sweep finds, including two that look like this bug but aren't, plus the command to check that none are left.
- depends on
-
SERVER-135704 FP Safety 2/5: Fix no-op failpoint wait in reconfig test
-
- In Code Review
-
- is depended on by
-
SERVER-135706 FP Safety 4/5: Migrate initialTimesEntered()+N pattern to relative-wait API
-
- Closed
-