Fivetran Uses Teleport Sync Instead of Time Travel Sync for Dynamic Tables
Issue
CHANGE_TRACKING is enabled on Snowflake dynamic tables, but Fivetran uses the Fivetran Teleport Sync incremental sync method instead of Time Travel Sync.
Environment
Connector: Snowflake
Resolution
To resolve this issue, ensure the affected dynamic tables use the INCREMENTAL refresh mode, then re-sync them:
- In Snowflake, run the following query to check the table's refresh mode:Check the
SHOW DYNAMIC TABLES LIKE '<dynamic_table_name>';refresh_modeandrefresh_mode_reasoncolumns. Ifrefresh_modeisFULL,refresh_mode_reasonexplains why Snowflake can't use incremental refresh. - Update the table definition to remove unsupported, non-deterministic functions, such as
CURRENT_TIMESTAMPandSYSDATE. This allows Snowflake to use incremental refresh. - Ensure
CHANGE_TRACKING = TRUEis enabled on the underlying base tables. - In Fivetran, go to your Snowflake connection page.
- Select the Schema tab.
- Find the affected tables, then click Re-sync.
- In the confirmation pop-up window, click Start re-sync.
Once the dynamic table uses the INCREMENTAL refresh mode, Fivetran automatically transitions from Fivetran Teleport Sync to Time Travel Sync.
For more information, see the Snowflake documentation on supported non-deterministic functions.
Cause
This issue occurs when dynamic tables contain non-deterministic functions, such as CURRENT_TIMESTAMP or SYSDATE, that prevent Snowflake from using incremental refresh. Snowflake therefore uses FULL refresh mode, which causes every row to appear changed after each refresh.
When this happens, we can't retrieve incremental change data, and we fall back to Fivetran Teleport Sync even when CHANGE_TRACKING is enabled.