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

   Fixes #944
   
   ## What is the purpose of the pull request
   
   In 0.3.0 the `xtable-utilities` bundle could load Iceberg's 
`org.apache.iceberg.aws.glue.GlueCatalog` through `--icebergCatalogConfig` with 
no extra jars. #822 made `iceberg-hive-runtime` `provided` in 
`xtable-hive-metastore`, and that jar was the only source of 
`org.apache.iceberg.aws.*` and `dev.failsafe` in the bundle. The 
`iceberg-hive-runtime` shade include in `xtable-utilities` stayed, but it no 
longer matches anything, so the classes dropped out of the 0.4.0 jar.
   
   ## Brief change log
   
   - Add `org.apache.iceberg:iceberg-aws` (at `${iceberg.version}`, 1.9.2) to 
root `dependencyManagement` and to `xtable-utilities`. It brings in 
`dev.failsafe:failsafe:3.3.2` as a runtime dependency.
   - Add both to the `xtable-utilities` shade includes, and remove the stale 
`iceberg-hive-runtime` include. Re-adding `iceberg-hive-runtime` itself is not 
an option, since its 1.7.2 Iceberg classes would clash with `iceberg-core` 
1.9.2.
   - README: note that `GlueCatalog` and `S3FileIO` are bundled, and that other 
catalog implementations need `java -cp ... org.apache.xtable.utilities.RunSync` 
instead of `java -jar`.
   
   The AWS SDK clients that `iceberg-aws` needs (`glue`, `s3`, `sts`) are 
already in the bundle, so `iceberg-aws-bundle` is not needed. The bundled jar 
grows by about 15 MB (423 MB to 438 MB).
   
   ## Verify this pull request
   
   - Built the bundled jar and ran a small program against it alone: 
`GlueCatalog`, `S3FileIO`, `S3InputStream`, `FailsafeException`, `GlueClient` 
and `S3Client` all load, and 
`CatalogUtil.loadCatalog("org.apache.iceberg.aws.glue.GlueCatalog", ...)` 
initializes (the same call `IcebergTableManager` makes).
   - With fake credentials, a Glue `listNamespaces` call and an S3 read through 
`S3InputStream` (the Failsafe path) both reach AWS and fail only with auth 
errors, not missing classes.
   - `./mvnw -pl xtable-utilities test` and `spotless:check` pass.
   


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