matrix-org / matrix-org/matrix-python-sdk
429 responses w/o retry_after_ms cause exception
Personne n'a encore pris cette issue.
- Langage dominant
- Python
- Étoiles
- 266
- Forks
- 118
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Description
Sometimes (no idea how this is triggered) synapse sends responses with a 429 status code without the `retry_after_ms` field. In those cases, the python client crashes with a `KeyError` since https://github.com/matrix-org/matrix-python-sdk/blob/401439f020ba79197c719a9b2d51838d833b731e/matrix_client/api.py#L666 unconditionally expects `retry_after_ms` to be available on 429 responses.
A relatively simple solution would be to have our own internal exponential backoff counter that gets reset every time a request succeeds or an explicit `retry_after_ms` value is received.
What do you think?
Guide de contribution
Ouvrir 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.
Piste de recherche
Start at matrix_client/api.py around line 666 and inspect the 429 response handling. Done means a 429 response without retry_after_ms no longer raises KeyError, while the existing explicit retry_after_ms behavior and the proposed backoff behavior are addressed.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- python
- Domaine
- api, backend
- Type d'issue
- Bug
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 35/100