matrix-org / matrix-org/matrix-python-sdk
429 responses w/o retry_after_ms cause exception
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- Python
- Sterne
- 266
- Forks
- 118
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
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?
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne in matrix_client/api.py etwa bei Zeile 666 und untersuche die Verarbeitung von 429-Antworten. Erledigt ist es, wenn eine 429-Antwort ohne retry_after_ms keinen KeyError mehr auslöst und sowohl das bestehende explizite retry_after_ms-Verhalten als auch das vorgeschlagene Backoff-Verhalten berücksichtigt sind.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- python
- Bereich
- api, backend
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Veraltet
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100