-
Notifications
You must be signed in to change notification settings - Fork 383
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
[Bug report] The API for creating an Iceberg catalog has a deprecated parameter "warehouse" that is required in the HTTP payload #5756
Comments
|
Sure, I'd be happy to handle it. |
### What changes were proposed in this pull request? Removed the systematic validations in Iceberg Config and modified the instantiation of the warehouse attribute and uri attribute in the IcebergCatalogWrapper to conform with the new possibility (REST). ### Why are the changes needed? The bug was blocking the creation of a rest catalog. Fix: [#5756](#5756) ### Does this PR introduce _any_ user-facing change? No ### How was this patch tested? ./gradlew build && compileDistribution && assembleDistribution + creation of the docker image there : https://hub.docker.com/r/fsalhi2/gravitino Started gravitino with such configs : ``` ### Gravitino General Settings gravitino.auxService.names = iceberg-rest gravitino.iceberg-rest.classpath = iceberg-rest-server/libs, iceberg-rest-server/conf ### HTTP Server gravitino.iceberg-rest.host = 0.0.0.0 gravitino.iceberg-rest.httpPort = 9001 ### Storage gravitino.iceberg-rest.io-impl = org.apache.iceberg.aws.s3.S3FileIO gravitino.iceberg-rest.s3-access-key-id = XXXXX gravitino.iceberg-rest.s3-secret-access-key = XXXXXX gravitino.iceberg-rest.s3-path-style-access = true gravitino.iceberg-rest.s3-endpoint = http://minio:9000/ gravitino.iceberg-rest.s3-region = us-east-1 ### JDBC gravitino.iceberg-rest.catalog-backend = jdbc gravitino.iceberg-rest.uri = jdbc:mysql://mysql:3306/ gravitino.iceberg-rest.warehouse = s3://lake/catalog gravitino.iceberg-rest.jdbc.user = root gravitino.iceberg-rest.jdbc.password = XXXXXX gravitino.iceberg-rest.jdbc-driver = com.mysql.cj.jdbc.Driver ``` Was able to create a catalog through Web UI and start working on the scheme.
@fsalhi2 would you please leave an comment here, so I can assign the issue to you, thanks. |
Hi @jerryshao , here am i :) |
…pache#5923) ### What changes were proposed in this pull request? Removed the systematic validations in Iceberg Config and modified the instantiation of the warehouse attribute and uri attribute in the IcebergCatalogWrapper to conform with the new possibility (REST). ### Why are the changes needed? The bug was blocking the creation of a rest catalog. Fix: [apache#5756](apache#5756) ### Does this PR introduce _any_ user-facing change? No ### How was this patch tested? ./gradlew build && compileDistribution && assembleDistribution + creation of the docker image there : https://hub.docker.com/r/fsalhi2/gravitino Started gravitino with such configs : ``` ### Gravitino General Settings gravitino.auxService.names = iceberg-rest gravitino.iceberg-rest.classpath = iceberg-rest-server/libs, iceberg-rest-server/conf ### HTTP Server gravitino.iceberg-rest.host = 0.0.0.0 gravitino.iceberg-rest.httpPort = 9001 ### Storage gravitino.iceberg-rest.io-impl = org.apache.iceberg.aws.s3.S3FileIO gravitino.iceberg-rest.s3-access-key-id = XXXXX gravitino.iceberg-rest.s3-secret-access-key = XXXXXX gravitino.iceberg-rest.s3-path-style-access = true gravitino.iceberg-rest.s3-endpoint = http://minio:9000/ gravitino.iceberg-rest.s3-region = us-east-1 ### JDBC gravitino.iceberg-rest.catalog-backend = jdbc gravitino.iceberg-rest.uri = jdbc:mysql://mysql:3306/ gravitino.iceberg-rest.warehouse = s3://lake/catalog gravitino.iceberg-rest.jdbc.user = root gravitino.iceberg-rest.jdbc.password = XXXXXX gravitino.iceberg-rest.jdbc-driver = com.mysql.cj.jdbc.Driver ``` Was able to create a catalog through Web UI and start working on the scheme.
…pache#5923) ### What changes were proposed in this pull request? Removed the systematic validations in Iceberg Config and modified the instantiation of the warehouse attribute and uri attribute in the IcebergCatalogWrapper to conform with the new possibility (REST). ### Why are the changes needed? The bug was blocking the creation of a rest catalog. Fix: [apache#5756](apache#5756) ### Does this PR introduce _any_ user-facing change? No ### How was this patch tested? ./gradlew build && compileDistribution && assembleDistribution + creation of the docker image there : https://hub.docker.com/r/fsalhi2/gravitino Started gravitino with such configs : ``` ### Gravitino General Settings gravitino.auxService.names = iceberg-rest gravitino.iceberg-rest.classpath = iceberg-rest-server/libs, iceberg-rest-server/conf ### HTTP Server gravitino.iceberg-rest.host = 0.0.0.0 gravitino.iceberg-rest.httpPort = 9001 ### Storage gravitino.iceberg-rest.io-impl = org.apache.iceberg.aws.s3.S3FileIO gravitino.iceberg-rest.s3-access-key-id = XXXXX gravitino.iceberg-rest.s3-secret-access-key = XXXXXX gravitino.iceberg-rest.s3-path-style-access = true gravitino.iceberg-rest.s3-endpoint = http://minio:9000/ gravitino.iceberg-rest.s3-region = us-east-1 ### JDBC gravitino.iceberg-rest.catalog-backend = jdbc gravitino.iceberg-rest.uri = jdbc:mysql://mysql:3306/ gravitino.iceberg-rest.warehouse = s3://lake/catalog gravitino.iceberg-rest.jdbc.user = root gravitino.iceberg-rest.jdbc.password = XXXXXX gravitino.iceberg-rest.jdbc-driver = com.mysql.cj.jdbc.Driver ``` Was able to create a catalog through Web UI and start working on the scheme.
Version
main branch
Describe what's wrong
The property key
warehouse
was removed withrest
assigned as a catalog-backend on Web UI, but REST API call for creating a catalog still requireswarehouse
in the request body and missingwarehouse
in the HTTP request body will cause the exception below.No option
warehouse
provided with restcatalog-backend on Web UIPOST http://localhost:8090/api/metalakes/test/catalogs
API call without “warehouse” causes the exception below:
Error message and/or stacktrace
How to reproduce
Create a
test
metalake and then create a catalog by sending the request withoutwarehouse
to the REST API as follows :POST http://localhost:8090/api/metalakes/test/catalogs
Additional context
No response
The text was updated successfully, but these errors were encountered: