Repository navigation
Conversation
A run that's stopped before it finishes, such as a cancelled CI run or a
stopped debugger, can't delete the buckets of the tests that were running.
The Amazon S3 tests now delete the sleet-test-{guid} buckets that are more
than 2 hours old. A creation date at the Unix epoch counts as unknown,
since RustFS lists a bucket that's being created with it.
Test bucket cleanup now deletes objects in batches of 1000, retries
conflicts, checks a not found bucket again before treating it as deleted
since Amazon S3 can briefly report a new bucket as missing, and tries
again from DisposeAsync if an earlier cleanup failed.
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Functional test runs that stop before they finish leave
sleet-test-{guid}buckets in the AWS test account, because the process that would delete them is gone. Cancelled CI runs are rare in the workflow history, so most of the leftovers probably come from:Changes
GivenAS3AccountVerifyStaleTestBucketsAreDeleted, deletes thesleet-test-{guid}buckets in the account that are more than 2 hours old.DeleteObjectsrequest allowsDisposeAsyncif an earlierCleanupAsyncfailed, and disposes the local cache even if cleanup throwss3:ListAllMyBuckets.While a bucket is being created, RustFS lists it with a creation date of 1970-01-01. The sweep treats that date as unknown, because otherwise it deletes the buckets of tests that are running.
Before merging
The AWS test credentials need
s3:ListAllMyBuckets. Without it, the sweep test fails with AccessDenied.Validation
build.ps1passes.functional-tests.ps1 -Target rustfspassed 3 times, 24 of 24 tests each time, with no buckets left in RustFS.sleet-test-feedandkeep-{guid}.Azure containers aren't swept yet.