wasi-http: the caller-drop TODOs in handler.rs contradict worker reuse
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
調査の方向性
The two TODOs sit in crates/wasi-http/src/handler.rs, around the p3 and p2 sections, and they suggest expiring a request when the caller drops the response future. Read the linked pr14625.rs reproducers in crates/wasi-http/tests/all/ and check that they pass on main before proposing text. Done means a maintainer has chosen between removing the TODOs and rewording them to point at #11833, and the comments match what the code does. Expect to wait for that decision before editing.
索引モデルが issue の本文から書いたものです。
説明
handler.rs has two TODOs (p3, p2) suggesting we expire a request when the caller drops the response future.
I tried that in #14625 and it was closed: it breaks worker reuse. Two cases that pass on main and failed with the change:
- p2: the caller drops after the guest has already responded; expiring the request ends up killing the reused worker and truncating an unrelated in-flight response.
- p3: every abandoned request retires its instance, so instances stop being reused.
Reproducers from @rvolosatovs's review branch: https://github.com/rvolosatovs/wasmtime/blob/6131efe89c969c471a8796af65607e0846d07707/crates/wasi-http/tests/all/pr14625.rs (they pass on main).
So the TODOs point at a behavior that conflicts with what the code does today. Should they be removed, or reworded to say "revisit once task cancellation (#11833) is available"?
cc @rvolosatovs
- 主要言語
- Rust
- スター
- 18.8k
- フォーク
- 1.9k
- 平均マージ
- 1日 3時間
- マージ済み PR(30日)
- 380
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
bytecodealliance/wasmtime のほかの issue
-
Cranelift: interpreter: incorrect edge-case handling in fcvt_to_{u,s}int.i128対応中かも @ryancbuckley が今日担当しました。 オープンbug cranelift
難易度 2/5 1〜3時間 初心者へのやさしさ 83/100
bytecodealliance/wasmtime#15198 ·
メンテナーはふだん 1 日以内に返信
-
bug wasm-proposal:exceptions wasmtime:debugging
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
bytecodealliance/wasmtime#14102 ·
メンテナーはふだん 1 日以内に返信
-
wasm-proposal:gc
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
bytecodealliance/wasmtime#13808 · コメント 2 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 4/5 3〜5日 初心者へのやさしさ 48/100
bytecodealliance/wasmtime#15195 ·
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 20/100
bytecodealliance/wasmtime#15193 ·
メンテナーはふだん 1 日以内に返信
bytecodealliance/wasmtime の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
RustCrypto/utils#1597 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
max-sixty/worktrunk#4727 · コメント 7 件 · リアクション 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 86/100
メンテナーはふだん 1 日以内に返信
-
follow-up
難易度 2/5 1〜3時間 初心者へのやさしさ 73/100
carrick-sh/carrick#1859 ·
メンテナーはふだん 1 日以内に返信