[GC] Fixed flaky GC stats end-to-end test #21919
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Bug and root-cause
A GC test that validates deleted stats is flaky. The test uses sweep timeout of 200 ms. It does the following in sequence:
If 200 ms have passed before step 3 is run, the unreferenced data store and blob will become sweep ready and will show up as deleted in GC stats. There was a change few months back that changed the logic to add sweep ready objects as deleted even when sweep is enabled (#19524) and the test probably became flaky then.
Fix
Broke the test above into 2:
Since the test goes from unreferenced -> wait for sweep timeout -> validation, there is no intermediate GC run like bfore where it can unexpectedly become sweep ready.
AB#8350