slachiewicz opened a new pull request, #897:
URL: https://github.com/apache/incubator-xtable/pull/897

   Closes #896.
   
   ## What is the purpose of the pull request
   
   `xtable-utilities` builds a 1.1 GB bundled jar from 795 lines of Java. This 
cuts it to 423 MB without touching any source.
   
   ## Brief change log
   
   - Replaced `software.amazon.awssdk:bundle`, the all-services jar, with the 
four artifacts `hadoop-aws` S3A actually uses: `s3`, `sts`, `netty-nio-client`, 
`s3-transfer-manager`. The AWS SDK goes from 1957 MB to 50 MB uncompressed.
   - Root pom now imports the AWS BOM rather than managing SDK artifacts one at 
a time.
   - Dropped RocksDB natives for ppc64le, s390x and 32-bit Linux, 84 MB. x86_64 
and aarch64 keep their musl builds; macOS and Windows stay.
   - Dropped `io.grpc:grpc-xds` (40 MB) and `org.codehaus.groovy:groovy-all` 
(9.5 MB) from the shade whitelist.
   
   | | jar | entries |
   |---|---:|---:|
   | before | 1098 MB | 582,980 |
   | after | 423 MB | 203,041 |
   
   One detail worth flagging for reviewers: the RocksDB excludes had to go in 
the root pom's shade **execution**, not the module's plugin configuration. An 
execution-level `<filters>` replaces a plugin-level one instead of merging, so 
a filter added in the module is silently ignored — the build passes and nothing 
is filtered.
   
   ## Verify this pull request
   
   The AWS reduction was derived rather than guessed: I scanned the constant 
pools of all 418 `org.apache.hadoop.fs.s3a` classes in `hadoop-aws` 3.4.1. They 
reference exactly one AWS service package, `services/s3`, plus `STSClient` and 
the `transfer`, `http`, `core`, `awscore` and `auth` packages. No other AWS 
service appears.
   
   **This has not been run against live S3, Azure or GCS.** Static analysis 
cannot see a credentials provider or signer named by class in configuration, so 
a deployment setting `fs.s3a.aws.credentials.provider` to an AWS SDK class 
directly could still hit `NoClassDefFoundError` — the same failure mode as 
#736. I would like someone to run `RunSync` against a real bucket before this 
merges.
   
   Builds green on Temurin 11; `spotless:check` clean.
   
   *This change was created with AI assistance.*
   


-- 
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]

Reply via email to