Geo: Switch from uploads table to partitioned upload tables for replication

Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.

📋 Phase 6: Switchover & Deprecation | Risk: High | View Epic &20933

⚠️ Final migration - requires all 23 partition replicators complete


Summary

This issue tracks the work to switch Geo replication from using the single uploads table to using the new partitioned upload tables.

Background

After implementing Geo replication and verification for each individual upload partition table (tracked in the sibling issues of this epic), we need to migrate existing Geo replication to use the new partitioned tables, deprecate the old upload_states table, and update Geo to stop tracking the uploads table directly.

Prerequisites

All 22 sibling issues in epic &20933 for individual upload type replication must be completed before this work can begin.

Implementation Steps

Phase 1: Preparation

  • Verify all partitioned upload replicators are enabled and working
  • Ensure all existing uploads have been synced via the new replicators
  • Add monitoring to compare sync status between old and new systems

Phase 2: Migration

  • Disable the old Upload replicator (behind feature flag)
  • Stop creating new upload_states records
  • Verify no regressions in replication/verification

Phase 3: Cleanup

  • Remove the old Upload replicator code
  • Create migration to drop the upload_states table
  • Update documentation to reflect the new architecture
  • Remove feature flags
Edited by 🤖 GitLab Bot 🤖