Root cause: last_igo_export re-saves every listing, clobbering date_modified #1

Open
opened 2026-06-06 06:27:48 +00:00 by hclaude · 0 comments
Owner

Backfill / repair corrupted listings_listing.date_modified

The last_igo_export runs (2026-03-27…04-01) overwrote date_modified for
~282,000 distinct listings. Current state (per log reconciliation):
~99.5k rows still read date_modified = 2026-03-30 (matches client's
102,555 report); ~182k were re-stamped to 2026-04-01.

Task

  • Determine if a trustworthy source of true last-edit time exists:
    audit/history table, django-simple-history, app changelog, WAL/PITR
    backup from before 2026-03-27, or a replica/dump.
  • If yes: backfill date_modified from it for affected rows.
  • If no clean source: decide policy (e.g. set to date_created, or flag
    affected rows as "unknown last-edit") with the client.
  • Note: also correct the +2h timezone error (see sibling issue) during
    backfill so repaired values are true UTC.

Priority: HIGH — this is the client-visible damage.
Blocked by / coordinate with: root-cause fix (stop further corruption first).

## Backfill / repair corrupted `listings_listing.date_modified` The `last_igo_export` runs (2026-03-27…04-01) overwrote `date_modified` for **~282,000 distinct listings**. Current state (per log reconciliation): **~99.5k** rows still read `date_modified = 2026-03-30` (matches client's 102,555 report); ~182k were re-stamped to 2026-04-01. ### Task - [ ] Determine if a trustworthy source of true last-edit time exists: audit/history table, `django-simple-history`, app changelog, WAL/PITR backup from before 2026-03-27, or a replica/dump. - [ ] If yes: backfill `date_modified` from it for affected rows. - [ ] If no clean source: decide policy (e.g. set to `date_created`, or flag affected rows as "unknown last-edit") with the client. - [ ] Note: also correct the +2h timezone error (see sibling issue) during backfill so repaired values are true UTC. **Priority: HIGH** — this is the client-visible damage. **Blocked by / coordinate with:** root-cause fix (stop further corruption first).
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
ECS-investigations/T4A-DB-logs#1
No description provided.