-
Notifications
You must be signed in to change notification settings - Fork 74
Feature/s3tables #198
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: master
Are you sure you want to change the base?
Feature/s3tables #198
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR introduces S3 Tables support to the MinIO Rust SDK, implementing a comprehensive Apache Iceberg REST Catalog client with warehouse management, namespace operations, table/view lifecycle, and query planning capabilities.
Key changes:
- New
s3tablesmodule with full Iceberg REST API implementation - Builder pattern for all operations with typed-builder support
- Pluggable authentication (SigV4, Bearer, NoAuth)
- Performance optimizations (signing key cache, zero-copy streaming, multimap improvements)
- Enhanced checksum support (CRC32/C, CRC64-NVME, SHA1/256)
Reviewed changes
Copilot reviewed 79 out of 221 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| src/s3tables/builders/*.rs | Request builders for Tables API operations (warehouses, namespaces, tables, views) |
| src/s3tables/auth.rs | Authentication providers for different catalog backends (SigV4, Bearer, NoAuth) |
| src/s3tables/advanced/*.rs | Advanced operations for direct Iceberg metadata manipulation |
| src/s3/utils.rs | Checksum utilities (CRC32/C/64, SHA1/256) for data integrity verification |
| src/s3/signer.rs | Signing key cache for performance optimization |
| src/s3/client/mod.rs | HTTP/2 support, connection pooling, fast-path GET, region lookup skip |
| src/s3/multimap_ext.rs | Optimized header canonicalization (regex removal, pre-allocation) |
| examples/s3tables/*.rs | Example programs and stress tests for Tables API |
Comments suppressed due to low confidence (1)
src/s3/client/mod.rs:1
- This TODO comment in test code should either be addressed or removed. If the test is known to be broken or unnecessary, it should be fixed or deleted rather than left with an unresolved TODO.
// MinIO Rust Library for Amazon S3 Compatible Cloud Storage
fdd77b6 to
066d0ac
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Copilot reviewed 77 out of 231 changed files in this pull request and generated 5 comments.
53221cb to
781b702
Compare
e36e0c1 to
1b849d2
Compare
fb5e027 to
19a2eca
Compare
Implements the MinIO S3 Tables API for Iceberg table operations: - TablesClient for managing warehouses, namespaces, and tables - Full Iceberg REST catalog API support - DataFusion integration for query pushdown (optional feature) - Table scan planning and execution - Advanced operations: commit, rename, multi-table transactions
19a2eca to
8a5ede1
Compare
No description provided.