Overview
Harden the remaining FCV concurrency workload teardowns after SERVER-125400.
Background
After SERVER-125400, concurrent index builds can cause setFeatureCompatibilityVersion to return transient errors:
- 12587 (BackgroundOperationInProgressForNamespace): an index build is still running with a stale FCV; retry setFCV.
- 7428200 (Incomplete FCV downgrade cleanup): a previous FCV downgrade stopped during internal metadata cleanup and must be completed before upgrading.
- 10778001 (Incomplete FCV upgrade cleanup): a previous FCV upgrade stopped during internal metadata cleanup and must be completed before downgrading.
BF-45364 exposed several concurrency workloads whose teardown still used a bare assert.commandWorked(setFCV(...)).
PR #56226 updated fixture-level and selected test infrastructure, but did not cover all active FCV workload teardowns.
Scope of Work
Update the following active workloads to use setFCVWithRetryOnBackgroundOpInProgress during teardown:
- jstests/concurrency/fsm_workloads/timeseries/timeseries_indexes_setFCV.js
- jstests/concurrency/fsm_workloads/timeseries/timeseries_create_indexes_setFCV.js
- jstests/concurrency/fsm_workloads/timeseries/timeseries_agg_out_setFCV.js
- jstests/concurrency/fsm_workloads/ddl/random_ddl/random_ddl_setFCV_operations_with_metadata_check.js
- jstests/concurrency/fsm_workloads/ddl/random_ddl/random_ddl_crud_setFCV_operations.js
- jstests/concurrency/fsm_workloads/ddl/drop_database/drop_database_sharded_setFCV.js
- jstests/concurrency/fsm_workloads/timeseries/create_timeseries_collection_with_setFCV.js
- jstests/concurrency/fsm_workloads/timeseries/timeseries_create_drop_setFCV.js
- jstests/concurrency/fsm_workloads/convert_to_capped_collection/convert_to_capped_setFCV.js
The helper must continue to fail on unexpected setFCV errors.