Abhishek Batra
01/02/2026, 4:40 PMkapa.ai
01/02/2026, 4:40 PMReplacingMergeTree engine. This engine performs deduplication in the background during merges, but it does not guarantee immediate deduplication. To see a deduplicated view at query time, you must add the FINAL operator to your SQL query: sql SELECT * FROM your_table FINAL [[ClickHouse Destination](https://docs.airbyte.com/integrations/destinations/clickhouse)]. ### 3. Potential Bugs or State Issues * State Reconciliation Bug: There is a known open issue where the "global CDC state" may not be marked as complete even after data is written. This can lead to the source thinking it needs to re-sync records it already processed, resulting in duplicates [[Failing With IllegalStateException](https://github.com/airbytehq/airbyte/issues/69746)]. * Last Record Overlap: Some users have reported that incremental syncs sometimes pull the last record from the previous sync again because they use the updated_at timestamp (or equivalent) as a cursor, leading to overlaps in the _AIRBYTE_RAW tables [[Incremental Syncing Issues](https://discuss.airbyte.io/t/504)]. ### 4. Primary Key Configuration If you are using the Connector Builder or custom settings, deduplication downstream relies on a correctly defined Primary Key. If no primary key is specified or if it is incorrectly defined, Airbyte cannot identify which records are duplicates of each other for the "Append + Deduped" mode [[Record processing meta data](https://docs.airbyte.com/platform/connector-development/connector-builder-ui/record-processing#meta-data)].Abhishek Batra
01/02/2026, 4:47 PMkapa.ai
01/02/2026, 4:47 PMkapa.ai
01/02/2026, 4:47 PMReplacingMergeTree engine. This engine keeps multiple versions of a record and only removes duplicates during background merges. * Querying the Correct Count: To see the count of unique records that matches the source, you must use the FINAL modifier in ClickHouse: sql SELECT count(*) FROM your_table_name FINAL; Without FINAL, ClickHouse will return the count of all records ever emitted (which likely matches the 20k shown in the Airbyte UI) [[ClickHouse Destination](https://docs.airbyte.com/integrations/destinations/clickhouse)]. ### 3. SQL Server CDC Specifics For SQL Server CDC, an UPDATE operation can generate two distinct records: one representing the data before the update (operation 3) and one after the update (operation 4). Both are emitted by the source and counted in the Airbyte UI, even if they ultimately result in a single updated row in your destination [[Duplicated registries mssql CDC](https://discuss.airbyte.io/t/3752)]. ### 4. Known State Issues There is a documented issue where "duplicate data processing" can occur if the global CDC state is not correctly marked as complete. This causes the UI to report more rows inserted than expected because it attempts to re-process rows for which it "lost" its cursor state [[Failing With IllegalStateException](https://github.com/airbytehq/airbyte/issues/69746)].