-
Notifications
You must be signed in to change notification settings - Fork 52
Implement RemoveFiles for S3FileSystem #181
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
|
Hi @utay, can you retarget this PR to |
Done!
Yep, let me know, happy to help write a test |
|
I need to bump duckdb further, since currently it doesn't include duckdb/duckdb#20333 (see failure in MinIO tests). I'll ping once this can be rebased. |
|
@utay: can you merge with / rebase to the I think the change set might slightly change behaviour, and would indeed need to be more properly tested. I am not sure of what strategy to recommend, probably combination of populating files + globs + deletion + globs in SQL to be execute as integration test would be handy. |
|
@carlopi Thanks, I've rebased the branch on I’ll fix the compilation issues and try to add an integration test as you suggested when I have some time! |
|
@carlopi I've fixed compilation, CI should pass now. Regarding the integration test, I think there are 2 options:
I couldn't find another way to test this with the existing test infrastructure, let me know what you think! |
|
@utay: I've opened duckdb/duckdb#20487, I think removing the check is the path forward, but need to check with the team. |
…ems (#20487) Connected to duckdb/duckdb-httpfs#181, where the author noticed we could lift this limitation (and that would also be handy in testing the new implementation of `RemoveFiles` for S3).
Following this discussion and duckdb/duckdb#20333 which introduces
RemoveFilesonFileSystem, this PR implementsRemoveFilesforS3FileSystem.It uses the S3 DeleteObjects API to delete objects in batches of 1000.
I couldn't find how to test this, as the other methods (like
RemoveFile) don't seem to be unit tested, and theRemoveFilesmethod is not exposed as a SQL command. Please let me know if there's a way to do so! I was still able to test it end-to-end with a SQL test in the ducklake repo (PR incoming).