Ordered-replay oracle: terminal error after a failed settle following truncate markers
メンテナーはふだん 1 日以内に返信
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 35/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 停滞
- 技術スタック
- typescript
調査の方向性
Start by replaying the supplied seed and path with the given Vitest command, then read packages/db/tests/query/load-subset-replay-refinement-oracle.test.ts around checkOrderedReplay and fatalLoadFailed(). Compare the oracle model with the shown counterexample after truncateMarkers and a failed settle. Done means the production behavior and model agree on whether this history should produce a terminal error, and the deterministic replay passes.
索引モデルが issue の本文から書いたものです。
説明
Summary
The random campaign of packages/db/tests/query/load-subset-replay-refinement-oracle.test.ts › "Ordered windows across truncate replays › keeps the ordered window under load and release faults" found a counterexample on main at 30175be48 (#2194). The failure is deterministic when the seed is replayed.
Replay
cd packages/db
TANSTACK_DB_ORACLE_SEED=1817832416 \
TANSTACK_DB_ORACLE_PATH=115:1:2:2:2 \
TANSTACK_DB_ORACLE_PROPERTY=replay.ordered-window-faults \
pnpm vitest run tests/query/load-subset-replay-refinement-oracle.test.ts -t "release faults"
Counterexample (shrunk)
[
[{ "type": "hold" }, { "type": "truncateMarkers" }, { "type": "settle", "ok": false }],
{ "direction": "asc", "offset": 0, "limit": 1, "ties": false, "peer": false,
"joined": "none", "markerMode": "on-demand", "includes": true }
]
AssertionError: convergence: terminal error: expected false to be true
at checkOrderedReplay (tests/query/load-subset-replay-refinement-oracle.test.ts:1875)
The shown window is in an error state, but the oracle's model has no failed load that explains it (fatalLoadFailed() is false). Either production shows a terminal error that the history does not justify, or the model is missing a case where a failed settle after truncate markers is fatal.
Where it was seen
CI for #2219 (job Test (db-1), run 39726325795). #2219 does not change @tanstack/db; CI tests that PR merged with main. The replay above fails with main's packages/db.
This issue was written by Isaac.
- 主要言語
- TypeScript
- スター
- 4k
- フォーク
- 277
- 平均マージ
- 18時間 49分
- マージ済み PR(30日)
- 224
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
TanStack/db のほかの issue
-
難易度 1/5 1〜3時間 初心者へのやさしさ 88/100
メンテナーはふだん 1 日以内に返信
-
OfflineExecutor.dispose() never settles pendingTransactionPromises対応中かも @Claire-ovo が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
メンテナーはふだん 1 日以内に返信
-
難易度 5/5 1週間以上 初心者へのやさしさ 28/100
メンテナーはふだん 1 日以内に返信
似ている issue
-
enhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 73/100
ajv-validator/ajv#2689 ·
-
[Bug]: IME confirmation Enter can submit the SSH port-forward dialog対応中かも @seijikohara が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
home-assistant/frontend#55323 ·
メンテナーはふだん 1 日以内に返信
-
community first-timers-only good first issue hacktoberfest help wanted low hanging fruit up-for-grabs
難易度 1/5 1時間未満 初心者へのやさしさ 72/100
lingdojo/kana-dojo#33188 · コメント 1 件 · リアクション 5 件 ·
メンテナーはふだん 1 日以内に返信
-
self-driving
難易度 1/5 1〜3時間 初心者へのやさしさ 86/100
メンテナーはふだん 1 日以内に返信