wasi-http: the caller-drop TODOs in handler.rs contradict worker reuse
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- Mezza giornata
- Idoneità per principianti
- 22/100
Direzione di ricerca
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.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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
- Lingua principale
- Rust
- Stelle
- 18.8k
- Fork
- 1.9k
- Merge medio
- 1g 3h
- PR unite (30g)
- 380
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di bytecodealliance/wasmtime
-
Cranelift: interpreter: incorrect edge-case handling in fcvt_to_{u,s}int.i128Forse già presa @ryancbuckley l’ha presa oggi. Apertabug cranelift
Difficoltà 2/5 1-3 ore Idoneità per principianti 83/100
bytecodealliance/wasmtime#15198 ·
I maintainer di solito rispondono entro 1 giorno
-
bug wasm-proposal:exceptions wasmtime:debugging
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
bytecodealliance/wasmtime#14102 ·
I maintainer di solito rispondono entro 1 giorno
-
wasm-proposal:gc
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
bytecodealliance/wasmtime#13808 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
bytecodealliance/wasmtime#15195 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 20/100
bytecodealliance/wasmtime#15193 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di bytecodealliance/wasmtime
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
RustCrypto/utils#1597 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
I maintainer di solito rispondono entro 1 giorno
-
Non-`main` default branchesAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
max-sixty/worktrunk#4727 · 7 commenti · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
I maintainer di solito rispondono entro 1 giorno
-
follow-up
Difficoltà 2/5 1-3 ore Idoneità per principianti 73/100
carrick-sh/carrick#1859 ·
I maintainer di solito rispondono entro 1 giorno