Remove legacy p_duo_workflows_checkpoints read code
Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.
Remove legacy p_duo_workflows_checkpoints read code
Problem
Follow-up to the legacy checkpoint data migration issue. Once the BBM that migrates
legacy p_duo_workflows_checkpoints rows into the header/blob format is finalized, the
code that reads the legacy full-checkpoint table becomes dead weight — but it can't be
deleted immediately.
Per doc/development/database/required_stops.md,
code referencing data touched by a BBM can only be removed after one further required
stop past finalization — otherwise self-managed instances that skip minor versions
could upgrade past the finalize release without ever having run it.
Target
Milestone 19.8, assuming the migration BBM (see parent issue, targeting 19.4)
finalizes on or before the 19.5 required stop. The legacy table is ~1TB; the closest
precedent (p_ci_builds_metadata, a smaller heavily-written table) took ~8 months of
requeues before finalizing, so 19.6 is optimistic — adjust once the parent issue has a
real duration estimate from the db:gitlabcom-database-testing pipeline.
Scope
- Remove legacy read paths for
Ai::DuoWorkflows::Checkpoint(full-row reads) now that all data lives inp_duo_workflows_checkpoint_headers/p_duo_workflows_checkpoint_blobs. - Remove the now-dead
Ai::DuoWorkflows::Checkpointwrite path already gated behindduo_workflow_write_incremental_only(flag can be removed too once this ships). - Follow
doc/development/database/deleting_migrations.mdfor any migration files that reference the legacy table — they become no-ops, not deletions, to keepschema_migrationsconsistent. - Confirm via the
db/docs/batched_background_migrations/*.ymlfinalized_byentry (set in the parent issue) that finalization actually shipped before merging this.
Depends on
- Parent issue: #611970 (closed) (migrate legacy
p_duo_workflows_checkpointsrows into header/blob format — BBM finalize must land first).