Troubleshoot Cross-Cloud Auto-Fulfillment

When you use Cross-Cloud Auto-Fulfillment, either by sharing a listing with a consumer account in another region, or by setting up the region availability of your listing on the Snowflake Marketplace, various checks run to determine if your data product can be auto-fulfilled.

You can use this guide to troubleshoot common issues with auto-fulfillment, and contact Snowflake Support if you encounter an issue not listed here.

Note

Some issues in this guide appear when a compatibility check runs for your data product when you set up auto-fulfillment. For private listings, the compatibility check only runs if you save your listing as a draft before adding consumer accounts, so you might not see the issues when you first publish a private listing.

Troubleshoot setting up auto-fulfillment

When you set up your listing, underlying issues with your data product could prevent auto-fulfillment.

Role missing privileges on share

Error:

OWNERSHIP on the selected share is required to enable auto-fulfillment.

Cause:

Only the ACCOUNTADMIN role can set up auto-fulfillment. This error can occur when the ACCOUNTADMIN role is not granted and does not inherit the role that owns the share attached to the listing.

Solution:

Grant the role that owns the share to the ACCOUNTADMIN role. For example, run the following:

GRANT ROLE SHARE_OWNER TO ROLE ACCOUNTADMIN;
Copy

Unable to share to accounts in other regions

Error:

To share to accounts in other regions, please contact your organization administrator to delegate privileges to the ACCOUNTADMIN role in this account.

Cause:

Your role does not have permission to set up auto-fulfillment.

Solution:

Contact your organization administrator to Allow accounts to set up Cross-Cloud Auto-Fulfillment.

Database is larger than 10 terabytes

Error:

Auto-fulfillment is unavailable because the share is associated with a database larger than 10TB.

Auto-fulfillment is unavailable because the data product is associated with a database larger than 10TB.

Cause:

The database that contains the objects in your share is larger than the 10TB limit for database replication and auto-fulfillment. The limit exists to prevent unexpectedly high costs resulting from auto-fulfillment or replication, but can be changed.

Solution:

Explore the cost ramifications for auto-fulfilling a database larger than 10TB to one or more regions. See Manage Cross-Cloud Auto-Fulfillment costs.

If you accept the potential added cost, you can contact Snowflake Support to have the limit adjusted for your entire account.

Data product contains a reference database

Error:

The reference database in the share is not supported for auto-fulfillment.

The shared object references below are incompatible.

The references below in the shared database are incompatible.

Cause:

The share attached to the listing contains a reference database or contains objects that reference a different database. Referencing objects in a different database is not supported for auto-fulfillment.

Solution:

You can do one of the following:

  • Remove the reference database, and objects referring to the reference database, from the share.

  • Use a different database that has all of the objects required for the share. You might need to recreate tables in the new database and view & function definitions updated.

  • Use manual fulfillment instead. Only some listings can be manually fulfilled. See Manually replicate data to fulfill a listing request.

Data product contains unsupported objects

Error:

The data product contains objects incompatible with cross-region sharing. Update the data product to share with accounts in other regions.

The shared objects below are incompatible.

The objects below in shared database are incompatible.

Cause:

The database that contains the share contains objects unsupported by auto-fulfillment. Because the entire database gets auto-fulfilled, even if the share does not contain the objects, you might still encounter this issue.

For an application package, you might see this issue if the data content included in the application or the referenced database contains objects unsupported by auto-fulfillment.

Solution:

Review the full list of supported objects for auto-fulfillment. See Objects supported for auto-fulfillment.

If the database contains objects that are not supported, you can do one of the following:

  • Remove the unsupported objects from the database or application package to be shared.

  • Use a different database that has all the objects required for the share, and no unsupported objects.

Auto-fulfillment failed during snapshot generation for multiple listings

Error:

Internal error occurs during auto-fulfillment for multiple listings.

Cause:

The error can occur if multiple listings use the same database for cross-region sharing and one of the listings contains or references an unsupported object type. This can impact the auto-fulfillment process for all listings that use that database. For example, let’s say a provider adds a new listing to be transferred across clouds or regions. The new listing shares objects from a database that other listings also use. The new listing includes a VIEW using a BUILD_SCOPED_FILE_URL, a function that calls GET_STAGE_FILE to retrieve data from an external stage in S3. Because external stages are not supported for auto-fulfillment, and the objects in that database are transferred together as a group, the other listings get the same error. If no action is taken, existing consumers in remote regions will not get updates, and new customers will not be able to get the data product.

Similar-looking errors can occur for other issues like network issues, authentication problems, or unsupported object types in certain operations (like replication).

Solution:

Starting with listings that were most recently added or updated, verify the following:

  • Verify that the listings in the group of listings that have errors include only supported object types for cross-region auto-fulfillment,

  • Verify that none of the objects make reference to unsupported object types. You might have to check multiple levels of dependencies to identify the root cause of the issue, for example, a view calling BUILD_SCOPED_FILE_URL which itself calls GET_STAGE_FILE to retrieve data from an external stage.

  • Use separate databases for listings that require different object types to avoid cross-impact.

  • Remove or replace any unsupported objects to avoid auto-fulfillment errors.

  • Check for any potential network, authentication, or missing GRANTS issue.

  • Contact Snowflake Support if the issue persists or you need assistance.

Listing database is a primary database

Error:

The primary database in the share is not supported for auto-fulfillment.

The primary database in the data product is not supported for auto-fulfillment.

Cannot auto-fulfill listing: listing database is a global database, which is not supported.

Cause:

The share contains objects from a database that was previously used for database replication.

Solution:

You can do one of the following:

Listing database is a secondary database

Error:

The secondary database in the share is not supported for auto-fulfillment. You will need to manually set up accounts in available regions, replicate the database to each account, create a secure share in each account, and attach those shares to this listing.

The secondary database in the data product is not supported for auto-fulfillment. Please choose another data product.

Cause:

The database that contains the share is a secondary database, which is read-only and cannot be replicated or auto-fulfilled.

Solution:

You can do one of the following:

  • Create your listing from the account where the database is the primary database.

  • Stop replicating the database manually to other regions.

Database with the same name already exists in the remote account

Error:

The reference database in the data product is not supported for auto-fulfillment because it is already being auto-fulfilled as part of another listing. Please remove all reference databases and objects referring to the reference database before sharing to remote customers.

Cause:

A database with the same name already exists in the secure share area used by auto-fulfillment. This can happen if a different account in your organization is using auto-fulfillment and has a database with the same name auto-fulfilled to that cloud region. The secure share area in a cloud region is shared across all provider accounts in your organization.

Solution:

You can do one of the following:

  • Rename the database that contains the share attached to the listing that will be auto-fulfilled. Renaming the database does not affect any downstream consumers.

  • Use a different database that has all of the objects required for the share.

Troubleshoot problems with auto-fulfilled data products

The following issues might occur for auto-fulfilled data products that are improperly configured.

Data is missing or out of sync for consumers

Error:

Consumer reports that views from an auto-fulfillment listing are no longer visible.

Cause:

You re-created objects, such as tables or views, associated with your listing and either:

  • The objects were not re-granted to the share after being re-created

  • Or, the objects were re-granted but it has been less than 10 minutes. Changes to objects granted to shares are checked every 10 minutes, so if it has been less than 10 minutes, the updated objects have not yet been auto-fulfilled to the consumer’s region.

Solution:

Verify that the objects were re-granted to the share, and determine how much time has passed since the grant query was run.

To confirm that all objects are granted to the share in your primary account, run the following:

SHOW GRANTS to SHARE <share_name>;
Copy

If needed, re-grant objects to the share:

GRANT USAGE on DATABASE <db_name> to SHARE <share_name>;
GRANT USAGE on SCHEMA <schema_name> to SHARE <share_name>;
GRANT SELECT on TABLE <table_name> to SHARE <share_name>;
GRANT SELECT on VIEW <view_name> to SHARE <share_name>;
GRANT USAGE on FUNCTION <function_name(parameters)> to SHARE <share_name>;
Copy

Allow up to 10 minutes after grants have been updated in the primary region, or after a database has been refreshed with new objects, for grants to apply in all remote regions.

Long delay getting data after requesting listing

Consumer reports that they requested a listing in their region, but after several days, they still don’t have access to the data product.

Error:

Data is replicating to your region…

Cause:

If the error message appears for several days with no change in status, it’s likely that an auto-fulfillment error occurred.

Solution:

As a provider, view the listing details to identify a specific error preventing auto-fulfillment of the data product, and refer to this troubleshooting guide to address the error.

As a consumer, contact the provider to let them know that there is a problem auto-fulfilling their data product to your region.