Remove MongoDB room/result persistence and temporary dual writes
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 28/100
- Tipo di issue
- Refactoring
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Tranquilla
- Stack tecnologico
- javascript, mongodb, nodejs, postgresql
- Ambito
- backend, databases, devops, documentation
Direzione di ricerca
Inizia confermando la finestra di osservazione per il cutover e il rollback di PostgreSQL, quindi cerca nel repository gli utilizzi di MongoDB room/session/attempt/solve, i flag dual-write e shadow-read e le metriche esclusive della migrazione. Esegui i test end-to-end delle room normali e di competizione e rivedi la documentazione relativa a backup, restore, sviluppo, deployment e architettura; il lavoro è completato quando le ricerche dei percorsi rimossi e la strumentazione a runtime sono pulite, la pulizia può essere eseguita in dry-run ed è idempotente e i test elencati hanno esito positivo.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Part of #199.
Goal
Complete the PostgreSQL migration after the authoritative cutover has remained healthy for the agreed rollback window.
Scope
- Remove MongoDB reads and writes for rooms, race sessions, attempts, solves/results, and their participant state.
- Remove embedded attempt/result data and room racing fields from the Mongoose model.
- Remove the PostgreSQL dual-write implementation and flags that only supported MongoDB authority.
- Remove shadow-read comparison code and migration-only metrics after preserving any generally useful health metrics.
- Retain historical migration and reconciliation tooling only when it remains useful and safe.
- Update backup, restore, development, deployment, and architecture documentation.
Safety requirements
- Confirm no supported rollback image requires MongoDB room/result data.
- Advance any rollback floor before destructive cleanup.
- Capture and verify a final pre-cleanup backup.
- Make destructive MongoDB cleanup a separate, explicit, idempotent operation.
- Do not delete historical PostgreSQL attempts or solves.
- Verify production no longer queries the removed collections or fields before cleanup.
Acceptance criteria
- Application code contains no MongoDB room/session/attempt/solve reads or writes.
- PostgreSQL failures correctly fail affected durable operations rather than silently falling back.
- Migration-only dual-write and shadow-read flags are removed.
- Cleanup can dry-run, apply, verify, and rerun idempotently.
- A repository search and runtime instrumentation find no removed-path usage.
- Backups and restore instructions treat PostgreSQL as authoritative for these domains.
- Development and test environments no longer require MongoDB for room racing behavior.
- Normal and competition room end-to-end tests pass after MongoDB room data is unavailable.
Dependencies
- Successful PostgreSQL cutover and completion of its rollback observation window.
- Lingua principale
- JavaScript
- Stelle
- 30
- Fork
- 9
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di coder13/LetsCube
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 65/100
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 55/100
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 68/100
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
-
area: data area: platform area: results enhancement priority: P1
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
Tutte le issue di coder13/LetsCube
Issue simili
-
bug CI breakage triage needed
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
oppia/oppia#27517 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
draftomen enhancement size: S
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
andreagrandi/draftomen#761 ·
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 92/100
HarperFast/harper#2866 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
HarperFast/harper-pro#927 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
anthropics/skills#1897 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno