Troubleshooting & best practices
Common errors
Grants test failed or operations are failed related to permissions
Error message:
Cause: The Fivetran user does not have the required privileges. The connector requires ALTER, CREATE DATABASE, CREATE TABLE, INSERT, and SELECT grants on *.* (all databases and tables).
The grants check queries system.grants and only matches direct user grants. Privileges assigned through a ClickHouse role are not detected. See the role-based grants section for more details.
Solution:
Grant the required privileges directly to the Fivetran user:
Error while waiting for all mutations to be completed
Error message:
Cause: An ALTER TABLE ... UPDATE or ALTER TABLE ... DELETE mutation was submitted, but the connector timed out waiting for it to complete across all replicas. The "initial cause" part of the error often contains the original ClickHouse error (commonly code 341, "Unfinished").
This can happen when:
- The ClickHouse Cloud cluster is under heavy load.
- One or more nodes went down during the mutation execution.
Solutions:
- Check mutation progress: Run the following query to check for pending mutations:
- Check cluster health: Ensure all nodes are healthy.
- Wait and retry: Mutations eventually complete once the cluster is healthy. Fivetran will retry the sync automatically.
Column mismatch error
Error message:
Different error may happen if the columns mismatch is due to a schema change in the source. For example:
Or:
Cause: The columns in the ClickHouse destination table does not match the columns in the data being synced. This can happen when:
- Columns were manually added or removed from the ClickHouse table.
- A schema change in the source was not properly propagated.
Solutions:
- Remember to not manually modify Fivetran-managed tables. See best practices.
- Alter the column back: If you are aware of which type the column should be, alter the column back to the expected type using the type transformation mapping as a reference.
- Re-sync the table: In the Fivetran dashboard, trigger a historical re-sync for the affected table.
- Drop and re-create: As a last resort, drop the destination table and let Fivetran re-create it during the next sync.
AST is too big (code 168)
Error message:
or
Cause: Large UPDATE or DELETE batches generate SQL statements with very complex abstract syntax trees. Common with wide tables or history mode enabled.
Solution:
Lower mutation_batch_size and hard_delete_batch_size in the advanced configuration file. Both default to 1500 and accept values between 200 and 1500.
Memory limit exceeded / OOM (code 241)
Error message:
Cause: The INSERT operation requires more memory than available. Happens usually during large initial syncs, with wide tables, or concurrent batch operations.
Solutions:
- Reduce
write_batch_size: Try lowering it to 50,000 for large tables. - Reduce database load: Check the load on the ClickHouse Cloud service to see if it's overloaded.
- Scale up the ClickHouse Cloud service to provide more memory.
Unexpected EOF / Connection error
Error message:
Or FAILURE_WITH_TASK with no stack trace in Fivetran logs.
Cause:
- IP access list not configured to allow Fivetran traffic.
- Transient network issues between Fivetran and ClickHouse Cloud.
- Corrupted or invalid source data causing the destination connector to crash.
Solutions:
- Check IP access list: In ClickHouse Cloud, go to Settings > Security and add the Fivetran IP addresses or allow access from anywhere.
- Retry: Recent connector versions automatically retry EOF errors. Sporadic errors (1–2 per day) are likely transient.
- If the issue persists: Open a support ticket with ClickHouse providing the error time window. Also ask Fivetran support to investigate source data quality.
Can't map type UInt64
Error message:
Cause: The connector maps LONG to Int64, never UInt64. This error occurs when a column type is manually altered in a Fivetran-managed table.
Solutions:
- Do not manually modify column types in Fivetran-managed tables.
- To recover: Alter the column back to the expected type (e.g.,
Int64) or delete and re-sync the table. - For custom types: Create a materialized view on top of the Fivetran-managed table.
No primary keys for table
Error message:
Cause: Every ClickHouse table requires an ORDER BY. When the source has no primary key, Fivetran adds _fivetran_id automatically. This error occurs in edge cases where the source defines a PK but the data does not contain it.
Solutions:
- Contact Fivetran support to investigate the source pipeline.
- Check the source schema: Ensure primary key columns are present in the data.
Role-based grants failing
Error message:
Cause: The connector checks grants with:
This only returns direct grants. Privileges assigned via a ClickHouse role have user_name = NULL and role_name = 'my_role', so they are invisible to this check.
Solution:
Grant privileges directly to the Fivetran user:
Best practices
Dedicated ClickHouse service for Fivetran
In case of high ingestion load, consider using ClickHouse Cloud's compute-compute separation to create a dedicated service for Fivetran write workloads. This isolates ingestion from analytical queries and prevents resource contention.
For example, the following architecture can be used:
- Service A (writer): Fivetran destination + other ingestion tools (ClickPipes, Kafka connectors)
- Service B (reader): BI tools, dashboards, ad-hoc queries
Optimizing reading queries
ClickHouse uses SharedReplacingMergeTree for Fivetran destination tables, which is the version of the ReplacingMergeTree table engine in ClickHouse Cloud. Duplicate rows with the same primary key are normal — deduplication happens asynchronously during background merges. At read time, you need to be careful to avoid returning duplicate rows, as some rows may not have been deduplicated yet.
Using the FINAL keyword is the simplest way to avoid duplicate rows, as it forces a merge of any not-yet-deduplicated rows at read time:
There are ways to optimize this FINAL operation — for example, by filtering on key columns using a WHERE condition. For more details, see the FINAL performance section of the ReplacingMergeTree guide.
If those optimizations are not sufficient, you have additional options that avoid using FINAL while still handling duplicates correctly:
- If you want to query a numeric column that is always incrementing, you can use
max(the_column). - If you need to retrieve the latest value for some columns for a particular key, you can use
argMax(the_column, _fivetran_id).
Primary key and ORDER BY optimization
Fivetran replicates the source table's primary key as the ClickHouse ORDER BY clause. When the source has no PK, _fivetran_id (a UUID) becomes the sorting key, which can lead to poor query performance because ClickHouse builds its sparse primary index from the ORDER BY columns.
Recommendations in this case if any other optimization is not sufficient:
-
Treat Fivetran tables as raw staging tables. Do not query them directly for analytics.
-
If queries are still not performant enough, use a Refreshable Materialized View to create a copy of the table with an
ORDER BYoptimized for your query patterns. Unlike incremental materialized views, refreshable materialized views re-run the full query on a schedule, which correctly handles theUPDATEandDELETEoperations that Fivetran issues during syncs:NoteAvoid incremental (non-refreshable) materialized views for Fivetran-managed tables. Because Fivetran issues
UPDATEandDELETEoperations to keep data in sync, incremental materialized views will not reflect these changes and will contain stale or incorrect data.
Don't manually modify Fivetran-managed tables
Avoid manual DDL changes (e.g., ALTER TABLE ... MODIFY COLUMN) to tables managed by Fivetran. The connector expects the schema it created. Manual changes can cause type mapping errors and schema mismatch failures.
Use materialized views for custom transformations.
Debugging operations
When diagnosing failures:
- Check the ClickHouse
system.query_logfor server-side issues. - Request Fivetran for help with client-side issues.
For connector bugs, create a GitHub issue or contact ClickHouse Support.
Debugging Fivetran syncs
Use the following queries to diagnose sync failures on the ClickHouse side.