Altinity / Altinity/altinity-sql-browser
GS: Failure-safe full refresh and large-result transfer
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- TypeScript
- Sterne
- 8
- Forks
- 2
- Ø Merge
- 1 Std. 34 Min.
- Gemergte PRs (30 T.)
- 6
Beschreibung
Parent: #398
Depends on: #399, #401
Design:
docs/design/google-sheets/full-refresh.mddocs/design/google-sheets/large-results.mddocs/design/google-sheets/failure-recovery.md
Scope
Implement manual full refresh with streaming ClickHouse reads, canonical value conversion, hidden staging, stable-sheet publication, limits, progress, cancellation, and failure recovery.
Acceptance criteria
- The complete query result is never required in browser memory.
- Google writes use byte-bounded explicit ranges and RAW semantics.
- Existing live data remains unchanged until all query and staging work succeeds.
- Final publication preserves the managed numeric sheet ID and atomically updates state.
- Old trailing rows/columns are cleared and formatting/metadata are refreshed.
- Ambiguous publication is reconciled by generation/refresh ID before retry.
- Row, cell, byte, duration, and spreadsheet-capacity limits are enforced without truncation.
- Cancellation and closed-tab recovery leave committed data intact and clean orphan staging later.
- Successful full refresh can initialize/reset an append checkpoint when eligible.
Non-goals
Append page selection, automatic scheduling, or in-place partial replacement when staging cannot fit.
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Lies docs/design/google-sheets/full-refresh.md, docs/design/google-sheets/large-results.md und docs/design/google-sheets/failure-recovery.md, und überprüfe anschließend die Voraussetzungen #399 und #401. Als abgeschlossen gilt die Implementierung der aufgeführten Akzeptanzkriterien für Aktualisierung, Staging, Veröffentlichung, Limits, Abbruch, Wiederherstellung und Checkpoints – ohne Kürzung und ohne vorzeitige Änderung bereits festgeschriebener Live-Daten.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- google-cloud, typescript
- Bereich
- backend, cloud
- Issue-Typ
- Feature
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Ruhig
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 25/100