You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently when configuring two REST catalogs in spark, the s3.signer.uri of the first catalog is used also for the second catalog.
During initial connect to the REST catalog, the catalog may return a s3.signer.uri attribute as part of the overrides of the /v1/config endpoint. This property seems to be set globally for the spark session. Whichever catalog I use first, the sign request for the second catalog is sent to the sign endpoint of the first. Using each catalog separately works perfectly fine.
I tested with one Lakekeeper where we use different sign endpoints for each warehouse as well as with two Nessies. Warehouses share the same bucket but use different path prefixes in my tests.
This is not only a problem with spark but at least also affects starrocks.
According to a user on our discord we see the same behavior as I describe for spark above:
I can confirm that both catalogs (lake and lake2) work perfectly fine when set up and used individually in StarRocks. I can create tables, insert data, and query without any issues when only one catalog is active at a time.
However, the problem arises when both catalogs are configured simultaneously. At that point, operations on the second catalog (like INSERT) fail.
Apache Iceberg version
1.7.0 (latest release)
Query engine
Spark
Please describe the bug 🐞
Currently when configuring two REST catalogs in spark, the
s3.signer.uri
of the first catalog is used also for the second catalog.During initial connect to the REST catalog, the catalog may return a
s3.signer.uri
attribute as part of theoverrides
of the/v1/config
endpoint. This property seems to be set globally for the spark session. Whichever catalog I use first, the sign request for the second catalog is sent to the sign endpoint of the first. Using each catalog separately works perfectly fine.I tested with one Lakekeeper where we use different sign endpoints for each warehouse as well as with two Nessies. Warehouses share the same bucket but use different path prefixes in my tests.
My spark configuration looks like this:
If required, I can add a docker compose example as well.
If someone could point me into the right direction, I might be able to create a fix PR.
Willingness to contribute
The text was updated successfully, but these errors were encountered: