connectors: add a sink recovery conformance suite

オープン
#4,237 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

@numinnex がすでに取り組んでいます。

2026年11月3日 から。

評価

難易度
5/5
見積もり時間
1週間以上
初心者へのやさしさ
35/100
issue の種類
機能追加
明瞭さ
おおむね明確
活発さ
活発
技術スタック
rust

調査の方向性

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.

索引モデルが issue の本文から書いたものです。

説明

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.

主要言語
Rust
スター
5.2k
フォーク
502
平均マージ
2日 21時間
マージ済み PR(30日)
159

環境構築

Codespaces で開く

このプロジェクトの開発コンテナを、あなたの GitHub アカウントでブラウザ上に起動します。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

apache/iggy のほかの issue

apache/iggy の issue をすべて見る

似ている issue

Rust の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。