-
Type:
Task
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: Test Python
-
None
-
Storage Engines - Foundations
-
62.481
-
None
-
None
Motivation
Waiting for the dhandle sweep server in the Python suite is done several ways with inconsistent semantics:
- test_layered_follower14 has a bounded wait_for_sweep() (120x1s) that asserts on timeout.
- test_sweep03 has a bounded wait_for_sweep(baseline) (10x0.5s) that silently falls through on timeout (returns a count, no assertion).
- test_layered_checkpoint08 polls dh_sweep_dead_close directly (bounded in
WT-17719).
These should be unified into one reusable helper with consistent, assert-on-timeout behaviour so sweep-wait loops fail fast with a clear message instead of hanging to a task-level timeout.
Approach
- Add a reusable bounded wait_for_sweep(self, baseline, min_sweeps=1, timeout=60) helper that asserts with a clear message on timeout. Sweep waiting is not disaggregated-specific (test_sweep* use it too), so place it on WiredTigerTestCase in test/suite/helpers/wttest.py.
- Migrate the existing wait_for_sweep copies and inline sweep-stat poll loops to the shared helper.
Definition of done
- Shared bounded wait_for_sweep helper added.
- Existing copies/inline loops migrated, standardised on assert-on-timeout semantics.
- Tests still pass on the happy path.
- is related to
-
WT-17721 Add a reusable bounded wait_for_checkpoint_start test helper
-
- Closed
-
-
WT-17700 [Layered] test_layered_checkpoint08: hang in palite config (service threads parked) causes 2h idle timeout
-
- Open
-
- related to
-
WT-17719 Bound the poll loops in test_layered_checkpoint08 so it fails fast instead of hanging
-
- Closed
-