Skip to content

Conversation

@hackintoshrao
Copy link
Contributor

@hackintoshrao hackintoshrao commented Dec 13, 2025

Summary

  • Add implicit permission so that s3tables:DeleteTable also grants s3:DeleteObject
  • This enables table purging (DROP TABLE ... PURGE) to delete underlying data files in the table's storage location

Background

When using Spark's DROP TABLE ... PURGE, the operation fails because users with s3tables:DeleteTable permission don't have the s3:DeleteObject permission needed to delete the underlying data files.

This is a workaround for a Spark/Iceberg issue where DROP TABLE ... PURGE performs client-side deletes rather than using purgeRequested=true to let the catalog handle deletion server-side.

References

RCK fix

Add implicit permission so that s3tables:DeleteTable also grants
s3:DeleteObject. This enables table purging (DROP TABLE ... PURGE)
to delete underlying data files in the table's storage location.

This is needed because Spark's DROP TABLE ... PURGE performs
client-side deletes rather than using purgeRequested=true to let
the catalog handle deletion. This workaround grants the necessary
privilege until the issue is fixed in Spark/Iceberg upstream.

References:
- apache/iceberg#14743
- apache/iceberg#11023
@hackintoshrao hackintoshrao self-assigned this Dec 13, 2025
@hackintoshrao hackintoshrao added the enhancement New feature or request label Dec 13, 2025
@harshavardhana harshavardhana merged commit f1fa17f into minio:main Dec 13, 2025
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants