Altinity / Altinity/altinity-sql-browser

GS: Failure-safe full refresh and large-result transfer

Offen
#402 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

cool feature
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.md
  • docs/design/google-sheets/large-results.md
  • docs/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

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Ö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

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.