-
Notifications
You must be signed in to change notification settings - Fork 87
Description
What happens?
When attaching to a Databricks Unity Catalog via the Iceberg REST API, the endpoint gets URL-encoded, causing / to become %2F in the request path. This results in a 404 error.
Expected behavior
The request should be made to:
/api/2.1/unity-catalog/iceberg-rest/v1/catalogs/my_unity_catalog/namespaces
Actual behavior
The request is made to:
/api/2.1/unity-catalog/iceberg-rest/v1/catalogs%2Fmy_unity_catalog/namespaces
Which returns:
HTTP 404 - Not Found
To Reproduce
INSTALL iceberg;
LOAD iceberg;
CREATE SECRET iceberg_secret (
TYPE ICEBERG,
TOKEN 'dapi...'
);
ATTACH 'my_unity_catalog' AS iceberg_catalog (
TYPE ICEBERG,
SECRET iceberg_secret,
ENDPOINT 'https://adb-xxxxxxxx.xx.azuredatabricks.net/api/2.1/unity-catalog/iceberg-rest'
);
select * from iceberg_catalog.my_schema.my_table ;
Error:
request to endpoint 'https://adb-xxxx.azuredatabricks.net/api/2.1/unity-catalog/iceberg-rest/v1/catalogs%2Fmy_unity_catalog/namespaces' returned an error response (HTTP 404). Reason: Not Found
Environment
DuckDB version: 1.4.4
Iceberg extension version: 1095c1f (installed from core)
OS: macOS Version 26.2 (25C56)
Databricks: Azure Databricks with Unity Catalog