server-stateless: 500 ms whole-request deadline in no-log-without-loglevel reports slow servers as failures
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 68/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- typescript
- Ambito
- testing-qa
Direzione di ricerca
Inizia in src/scenarios/server/stateless.ts intorno alle righe 947-952 e analizza la gestione del timeout di listenToStream, incluso il modo in cui un abort diventa un risultato di frame vuoto. Esegui conformance server --scenario server-stateless per riprodurre il fallimento intermittente attraverso un proxy lento. Il lavoro è completato quando un server lento ma corretto non viene segnalato erroneamente come non riuscito, con il comportamento coperto dai test dello scenario pertinenti, se presenti.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
sep-2575-server-no-log-without-loglevel gives listenToStream a 500 ms budget for the whole request (stateless.ts#L947-L952). The AbortController covers connecting, the server's handler, and reading the frames. When the deadline passes, the helper swallows the abort and returns []. The check then reports the FAILURE Logging target endpoint context dropped or failed to yield frame structures, so a slow but correct server looks broken.
Other listenToStream calls in this scenario allow 800 to 1500 ms, and the helper defaults to 1000 ms. The CLI has no option to raise the budget.
What we see. We run conformance server --scenario server-stateless in our local test gate. The target is a Cloudflare Workers dev server reached through a loopback proxy. At a load average of about 60, the proxy timed 58 scenario requests to response headers: median 137 ms, p90 278 ms, max 512 ms. The test_logging_tool call took 105 ms that run. With more CPU contention (several test runs sharing a laptop), that call sometimes takes over 500 ms. The check then fails, and the same server passes on a rerun.
Suggested fix (any of these):
- Use the helper's 1000 ms default here, as the neighboring checks do, or
- report an aborted request as inconclusive, e.g.
untestable, and not as a server failure, or - expose a CLI option such as
--timeout <ms>for stream waits.
Version: @modelcontextprotocol/[email protected]. The same code is on main at 7169291.
- Lingua principale
- TypeScript
- Stelle
- 127
- Fork
- 101
- Merge medio
- 4g 7h
- PR unite (30g)
- 6
Preparare l'ambiente
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 modelcontextprotocol/conformance
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
modelcontextprotocol/conformance#519 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
modelcontextprotocol/conformance#315 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
modelcontextprotocol/conformance#312 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 76/100
modelcontextprotocol/conformance#526 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 55/100
modelcontextprotocol/conformance#517 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di modelcontextprotocol/conformance
Issue simili
-
resources
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
railmapgen/rmg-palette#2445 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
danielmiessler/LifeOS#2242 ·
I maintainer di solito rispondono entro 5 giorni
-
good first issue hacktoberfest help wanted translation
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
callstackincubator/appduct#129 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 1-3 ore Idoneità per principianti 88/100