Phase 72.5.1.11 adds @v2/telemetry-event-replay, the historical replay path
for re-ingesting warehouse.v2_telemetry.events through updated telemetry
pipeline code.
Replay Flow#
runTelemetryEventReplayOnce pulls bounded warehouse rows from a
TelemetryReplaySource, validates each row, reconstructs TelemetryEvent
records with reconstructTelemetryEventFromWarehouseRow, and groups them with
buildTelemetryReplayBatchesFromRows. Replay batches use deterministic UUIDs,
the v2-telemetry-event-replay producer, preserved event IDs, and
offlineReplay: true.
TelemetryIngestionEndpointReplayTarget submits each replay batch to the normal
/v2/telemetry/ingest endpoint, so updated ingestion, queue, transform, and
warehouse code receive the same TelemetryEventBatch contract as live traffic.
Safety#
Payload JSON must parse to scalar telemetry payload values and match the stored
payload SHA-256 before replay. Invalid rows are sent to deadLetter and do not
block valid rows in the same run. Replay is bounded by maxRowsPerRun and
maxEventsPerReplayBatch so historical backfills can be chunked safely.
Targeted verification:
pnpm --filter @v2/telemetry-event-replay run typecheck
pnpm --filter @v2/telemetry-event-replay run test
python V2/ue/Tools/check-v2-telemetry-event-replay.py