List routes answer 500 for a skip or page too large for the database
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 3/5
- Temps estimé
- Une demi-journée
- Accessibilité débutants
- 72/100
Piste de recherche
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.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
- 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.
- Langage dominant
- Python
- Étoiles
- 0
- Forks
- 4
- Merge moyen
- 7 h 47 min
- PR mergées (30 j)
- 427
Préparer son environnement
- Fournit un Dockerfile ou un fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de Controlvar/controlvar
-
bug post-launch
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
Controlvar/controlvar#1818 ·
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
Controlvar/controlvar#1813 ·
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 1/5 1-3 heures Accessibilité débutants 88/100
Controlvar/controlvar#1806 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 90/100
Controlvar/controlvar#1447 · 2 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
enhancement post-launch
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
Controlvar/controlvar#1042 ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de Controlvar/controlvar
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
adafruit/Fruit-Jam-OS#98 ·
-
python triage
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
microsoft/semantic-kernel#14753 ·
Les mainteneurs répondent en général sous 5 jours
-
area:cli area:configuration documentation priority:low size:small
Difficulté 1/5 1-3 heures Accessibilité débutants 80/100
RonaldHensbergen/composable-data-stack#1222 ·
Les mainteneurs répondent en général sous 1 jour
-
bug python
Difficulté 2/5 1-3 heures Accessibilité débutants 86/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
pvlib/pvlib-python#2939 ·
Les mainteneurs répondent en général sous 1 jour