server-stateless: 500 ms whole-request deadline in no-log-without-loglevel reports slow servers as failures
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 68/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- typescript
- Área
- testing-qa
Línea de trabajo
Comienza en src/scenarios/server/stateless.ts alrededor de las líneas 947-952 e inspecciona el manejo del timeout de listenToStream, incluido cómo un aborto se convierte en un resultado de frame vacío. Ejecuta conformance server --scenario server-stateless para reproducir el fallo intermitente bajo un proxy lento. Se considera terminado cuando un servidor lento pero correcto no se informa incorrectamente como fallido, con el comportamiento cubierto por las pruebas del escenario relevantes, si las hay.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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.
- Lenguaje dominante
- TypeScript
- Estrellas
- 127
- Forks
- 101
- Merge medio
- 4 d 7 h
- PR fusionados (30 d)
- 6
Preparar el entorno
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de modelcontextprotocol/conformance
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
modelcontextprotocol/conformance#519 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
modelcontextprotocol/conformance#315 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
modelcontextprotocol/conformance#312 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 3/5 1-2 días Aptitud para principiantes 76/100
modelcontextprotocol/conformance#526 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 3/5 1-2 días Aptitud para principiantes 55/100
modelcontextprotocol/conformance#517 ·
Los mantenedores suelen responder en 1 día
Todos los issues de modelcontextprotocol/conformance
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
diegosouzapw/OmniRoute#14869 ·
Los mantenedores suelen responder en 1 día
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 94/100
Los mantenedores suelen responder en 1 día
-
status: waiting triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
freeCodeCamp/freeCodeCamp#70412 ·
Los mantenedores suelen responder en 1 día
-
Mend: dependency security vulnerability untriaged
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
opensearch-project/OpenSearch-Dashboards#12816 ·
Los mantenedores suelen responder en 1 día