Add version column to ci_finished_pipelines ClickHouse table
Summary
Align ci_finished_pipelines with ci_finished_builds by adding a version column to the ReplacingMergeTree definition.
Current State
| Table | Engine | Version Column |
|---|---|---|
ci_finished_builds |
ReplacingMergeTree(version, deleted) |
version
|
ci_finished_pipelines |
ReplacingMergeTree |
|
Why
Without a version column:
- Deduplication with
FINALrelies on insertion order (non-deterministic) - Can't use
argMax(column, version)patterns reliably - Inconsistent with
ci_finished_builds
Scope
- Add migration to add
versioncolumn toci_finished_pipelines - Update sync code to populate version (e.g.,
default now()) - Alter
ReplacingMergeTreeto use the version column
Related
- #588891 (closed) (cross-partition duplicate sync events)
- !222153 (closed) (rebuild CI MVs)
Edited by Pedro Pombeiro