Troubleshooting using Apache Iceberg™ tables with Snowflake Open Catalog in Snowflake¶
The following scenarios can help you troubleshoot issues that might occur when using Apache Iceberg™ tables with Snowflake Open Catalog in Snowflake.
You can’t create a catalog integration for Open Catalog¶
This section describes how to troubleshoot creating a catalog integration for Open Catalog.
To troubleshoot, identify the error message you received in the SQL output when the creation of your catalog integration failed.
Error |
|
|---|---|
Cause |
The |
Solution |
Update Important
|
Error |
|
|---|---|
Cause |
The OAuth token you specified in the catalog integration isn’t valid. |
Solution |
Ensure that the values specified for |
You can’t create a Snowflake-managed table¶
This section describes how to troubleshoot creating a Snowflake-managed table.
To troubleshoot, identify the error message you received in the SQL output when the creation of your table failed.
Error |
|
|---|---|
Cause |
The catalog role for the external catalog you want to connect to doesn’t have the necessary privileges to send notifications to Open Catalog. |
Solution |
Update the catalog role by granting all of the following privileges to the catalog role for your external catalog:
Where you update the catalog role depends on whether the grants it has are applied at the catalog, namespace, or table level. See the applicable procedure for your catalog role: |
Error |
|
|---|---|
Cause |
The AWS IAM user for your external catalog can’t assume the role that has permission to access S3. |
Solution |
Modify the policy document in AWS to allow the IAM user for your Open Catalog account to assume the role that has permission to access your S3 bucket. To modify the policy document, you need to update the IAM role in AWS. For details, see Retrieve the AWS IAM user for your Snowflake Open Catalog account and then Grant the IAM user permissions to access bucket objects. Remember that the policy document must include the IAM user ARN and external ID for both your external volume and external catalog in Open Catalog. In the following example policy document, note the following values:
|
Error |
|
|---|---|
Cause |
You’re attempting to sync a Snowflake-managed table to an internal catalog in Open Catalog. You can only sync a Snowflake-managed table to an external catalog in Open Catalog. |
Solution |
You can’t update an existing internal catalog to an external catalog, so you must create a new external catalog:
|
Error |
|
|---|---|
Cause |
The path to the metadata file for the table you want to create isn’t included in the list of allowed locations for your external cloud provider. As a result, Open Catalog can’t access the metadata file for the table. |
Solution |
Ensure that the location of the metadata file falls under the file path of the default base location for the catalog that the service admin created in Open Catalog, or that it falls under any of the additional allowed locations, if applicable. For the list of allowed locations, select the catalog in Open Catalog and refer to the Locations field. |
You can’t alter an Iceberg table when specifying the CATALOG_SYNC parameter¶
This section describes how to troubleshoot altering the CATALOG_SYNC parameter.
To troubleshoot, identify the error message you received in the SQL output when your table alteration failed.
Error |
|
|---|---|
Cause |
The catalog role for the external catalog you want to connect to doesn’t have the necessary privileges to send notifications to Open Catalog. |
Solution |
Grant all of the following privileges to the catalog role for your external catalog:
Where you update the catalog role depends on whether its grants are applied at the catalog, namespace, or table level. See the applicable procedure for your catalog role: |
Error |
|
|---|---|
Cause |
The AWS IAM user for your external catalog doesn’t have permission to access S3 bucket objects. |
Solution |
Modify the policy document in AWS to allow the IAM user for your Open Catalog account to access objects in your S3 bucket. To modify the policy document, you need to update the IAM role in AWS. For details, see Retrieve the AWS IAM user for your Polaris Open Catalog account and then Grant the IAM user permissions to access bucket objects. Remember that the policy document must include the IAM user ARN and external ID for both your external volume and external catalog in Open Catalog. In the following example policy document, note the following values:
|
Error |
|
|---|---|
Cause |
You’re attempting to sync a Snowflake-managed Iceberg table to a catalog integration for an internal catalog in Open Catalog. You can only sync a Snowflake-managed Iceberg table to an external catalog in Open Catalog. |
Solution |
You can’t update an existing internal catalog to an external catalog, so you must create a new external catalog:
|
Error |
|
|---|---|
Cause |
The path to the metadata file for the table you want to create isn’t included in the list of allowed locations for your external cloud provider. As a result, Open Catalog can’t access the metadata file for the table. |
Solution |
Ensure that the location of the metadata file falls under the file path of the default base location for the catalog that the service admin created in Open Catalog, or that it falls under any of the additional allowed locations, if applicable. For the list of allowed locations, select the catalog in Open Catalog and refer to the Locations field. |