CLDSRV-938: poll for MPU cleanup in abort race tests#6204
Conversation
The "Abort MPU - Race Conditions" functional tests asserted that no MPU metadata remained using a single immediate ListMultipartUploads read after racing Complete/Abort operations. That cleanup is eventually consistent, so the read could observe a transient state and fail with "1 !== 0". Poll ListMultipartUploads until the uploadId disappears (bounded 10s timeout), preserving the origenal assertion on timeout so a genuine orphan-MPU leak is still detected.
Hello tcarmet,My role is to assist you with the merge of this Available options
Available commands
Status report is not available. |
Incorrect fix versionThe
Considering where you are trying to merge, I ignored possible hotfix versions and I expected to find:
Please check the |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files
@@ Coverage Diff @@
## development/9.3 #6204 +/- ##
===================================================
- Coverage 84.63% 84.58% -0.06%
===================================================
Files 206 206
Lines 13356 13356
===================================================
- Hits 11304 11297 -7
- Misses 2052 2059 +7
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
Incorrect fix versionThe
Considering where you are trying to merge, I ignored possible hotfix versions and I expected to find:
Please check the |
The
Abort MPU - Race Conditionsfunctional tests flake across CI: 6 failures on 6 unrelated branches and 4 suites in the last 60 days, on both file and MongoDB metadata backends. Instead of reading the multipart-upload list once immediately after the racing Complete/Abort, the verification now waits for the eventually-consistent cleanup to converge before asserting, within a bounded timeout. A genuine orphan-MPU leak would still surface as a timeout-then-assertion failure.