List routes answer 500 for a skip or page too large for the database
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- Medio día
- Aptitud para principiantes
- 72/100
Línea de trabajo
Start with the handlers for /api/v1/rollout-schedules/, /api/v1/users/, /api/v1/metrics/errors, /api/v1/feature-flags/, and /api/v1/audit-logs/, then inspect the shared Query validation used for skip and page. Reproduce the failures with the provided curl request, and check the rollout-schedules status error branch for the parameter-name collision. Done means every affected list route returns a 422 response identifying the invalid parameter, including the rollout-schedules error branch, instead of a generic 500.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
- Sent:
GET /api/v1/rollout-schedules/?skip=9223372036854775808(any role). The same forskipon
GET /api/v1/users/(superuser),GET /api/v1/metrics/errorsandGET /api/v1/feature-flags/, and forpageon
GET /api/v1/audit-logs/(the offset is(page - 1) * limit). - Comes back: 500 with the generic error body. The offset reaches the query, and PostgreSQL stores an offset in a
64-bit integer, so anything from 2^63 up is refused.skip=9223372036854775807answers 200. - Expected: 422 naming the parameter, for example an upper bound on
skipandpage(le=on theQuery), the
same on every list route. - Also on
GET /api/v1/rollout-schedules/: thestatusfilter parameter has the same name as the module the
route's error branch uses for its status code, so that branch fails too (it still answers 500). - Reproduction (VIEWER):
curl -H "Authorization: Bearer <VIEWER token>" 'http://localhost:8000/api/v1/rollout-schedules/?skip=9223372036854775808'
Found by API fuzzing (a local run), reproduced by hand.
- Lenguaje dominante
- Python
- Estrellas
- 0
- Forks
- 4
- Merge medio
- 5 h 19 min
- PR fusionados (30 d)
- 503
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
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 Controlvar/controlvar
-
Dashboard: the sequential panel's "Ready to stop" banner shows no sample-ratio-mismatch cautionAbiertobug post-launch
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Controlvar/controlvar#1737 ·
Los mantenedores suelen responder en 1 día
-
fix(api): the feature-flag list has no defined order across pagesPosiblemente ocupada @amarkanday la tomó hoy. Abiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Controlvar/controlvar#1612 ·
Los mantenedores suelen responder en 1 día
-
bug post-launch
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
Controlvar/controlvar#1562 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 90/100
Controlvar/controlvar#1447 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
Experiment setup: emptying a traffic share box and typing a number shows a leading zero ("034")Abiertobug post-launch
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Controlvar/controlvar#1428 ·
Los mantenedores suelen responder en 1 día
Todos los issues de Controlvar/controlvar
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
FinanceFlash/unvibecode#509 ·
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 82/100
FAIRmat-NFDI/nomad-distro-dev#161 ·
-
bug v2
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
modelcontextprotocol/python-sdk#3821 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
bug severity:low
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 2 días
-
Log-odds calibration uses upper middle score instead of median for even candidate setsPosiblemente ocupada @flysheep-ai la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día