Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

server-stateless: 500 ms whole-request deadline in no-log-without-loglevel reports slow servers as failures

Abierto Apto para principiantes
#530 0 comentarios 0 reacciones 0 asignados Ver en GitHub

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

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de modelcontextprotocol/conformance

Todos los issues de modelcontextprotocol/conformance

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.