GS: Failure-safe full refresh and large-result transfer
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Anfängerfreundlichkeit
- 25/100
- Issue-Typ
- Feature
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Ruhig
- Tech-Stack
- google-cloud, typescript
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.
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.
- Vorherrschende Sprache
- TypeScript
- Sterne
- 8
- Forks
- 2
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Entwicklungsumgebung
- Enthält ein Dockerfile oder eine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus Altinity/altinity-sql-browser
-
inbox
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
Altinity/altinity-sql-browser#605 ·
-
inbox
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Altinity/altinity-sql-browser#509 ·
-
inbox
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Altinity/altinity-sql-browser#489 ·
-
flamegraphOffenenhancement
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 25/100
Altinity/altinity-sql-browser#684 ·
-
bug
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 68/100
Altinity/altinity-sql-browser#680 · 2 Kommentare ·
Alle Issues in Altinity/altinity-sql-browser
Ähnliche Issues
-
area:tui enhancement platform:macos
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 66/100
anthropics/claude-code#101490 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 66/100
netlify/netlify-mcp#75 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
atlassian-labs/compiled#1960 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
pnp/cli-microsoft365#7639 ·
Maintainer antworten meist innerhalb von 2 Tagen
-
nextjs-tracking
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 74/100
cloudflare/vinext#3887 ·
Maintainer antworten meist innerhalb von 1 Tag