n-dlms opened a new pull request, #17531: URL: https://github.com/apache/iceberg/pull/17531
## Motivation Issue #7516 asks that users who only need `S3FileIO` not be forced to ship the full set of AWS SDK clients (Glue, DynamoDB, KMS, etc.). The factory-level split already exists (`S3FileIOAwsClientFactory` + `s3.client-factory-impl`, #7590), but the artifact users actually deploy — `iceberg-aws-bundle` — still shades every client, which is the ~450MB "just dump the bundle jar" problem the issue calls out. ## What this PR does Adds a new shadow bundle module `iceberg-aws-s3-bundle` that contains only the S3-path AWS dependencies: - `s3`, `auth`, `apache-client`, `url-connection-client` - `crt-core`, `http-auth-aws-crt` (async/CRT path) - `s3accessgrants`, `analyticsaccelerator` (S3FileIO features) and **excludes** the catalog/lock/KMS clients: `glue`, `dynamodb`, `kms`, `lakeformation`, `sso`. The existing `iceberg-aws-bundle` is left unchanged for Glue catalog, DynamoDB lock, and KMS users. Measured locally: `iceberg-aws-s3-bundle` shadow jar is **48MB vs 65MB** for the full bundle (~26% smaller), while `:iceberg-aws:test` (S3FileIO, S3InputStream, access grants, etc.) passes unchanged. ## Changes - `aws-s3-bundle/` — new module (build.gradle mirroring `aws-bundle` with the slim dep set, plus LICENSE/NOTICE and the generated `runtime-deps.txt` baseline) - `settings.gradle` — register the module - `.github/workflows/cve-scan.yml` — scan the new distribution - `.github/labeler.yml` — AWS label covers the new module - `docs/docs/aws.md` — document the S3-only option for Spark with a REST-catalog example ## Compatibility Fully additive — no existing artifact or API changes. Users who need Glue/DynamoDB/KMS continue using `iceberg-aws-bundle`. Closes #7516 --- **AI Disclosure** - Model: Claude Opus 4.7 - Platform/Tool: Claude Code - Human Oversight: fully reviewed - Prompt Summary: Implement a slim S3-only AWS bundle artifact to close issue #7516; verify build, tests, and jar size locally -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
