connectors: add a sink recovery conformance suite

Aperta
#4,237 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
35/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
rust

Direzione di ricerca

Begin fixture development with #4233, then read the related implementations in #4234, #4235, and #4236 and inspect the actual HTTP sink and its acknowledgment boundaries. Done means the reusable suite covers the listed recovery scenarios, runs in CI, and supported plugins have coverage without missing destination records.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

connectors

Parent tracker: #4232.

Build reusable failure fixtures and assertions for the agreed delivery contract. Verify destination record identities and saved recovery positions independently of the runtime's processing counters.

Required scenarios:

  • Rejected delivery followed by restart and successful replay through the actual HTTP sink.
  • Destination success followed by abrupt termination before checkpoint completion. Duplicates are permitted; missing records are not.
  • Buffered acceptance, partial delivery, and failed flush followed by recovery.
  • A failed record followed by later completion, including multiple partitions.
  • Checkpoint timeouts where the server did and did not persist the update.
  • Restart with delayed completions from the previous instance, and ownership changes where supported by the agreed contract.
  • Decode and transform errors, intentional filtering, and any supported dead-letter policy.
  • Incompatible plugins and unavailable source records during recovery.

Use controlled synchronization and fault injection to target the relevant boundaries. Include abrupt process termination so graceful shutdown cannot hide missing delivery barriers.

The common suite must run in CI, and supported plugins must have coverage for their actual acknowledgment boundary. Begin fixture development with #4233; add and run the relevant tests as #4234, #4235, and #4236 are implemented.

Lingua principale
Rust
Stelle
5.2k
Fork
502
Merge medio
3g 8h
PR unite (30g)
146

Preparare l'ambiente

Apri in Codespaces

Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di apache/iggy

Tutte le issue di apache/iggy

Issue simili

Altre issue su Rust

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.