matrix-org / matrix-org/matrix-python-sdk
JSONDecodeError when trying to interact with user in a non-healthy server
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
We got a small federation running for Raiden Network, and because of some disk full issue, one of the servers crashed. Following it, the healthy ones started returning some unexpected responses for interactions with users on the healthy ones.
E.g. trying to invite an user in the unhealthy server to a room in the healthy one, the invite request returned:
<Response [429]>
{"errcode":"M_UNKNOWN","error":"Unknown Status"}
but from
https://github.com/matrix-org/matrix-python-sdk/blob/e366d52850f2bd948e9613022b735054616cfe0b/matrix_client/api.py#L731-L735
if the error isn't a json, json.JSONDecodeError will be raised.
Quick fix is to add json.JSONDecodeError to the handled errors in L734
Full stack traces and context can be found in raiden-network/raiden#2603
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
Commencez dans matrix_client/api.py, autour des lignes 731–735, où les réponses d’erreur qui ne sont pas au format JSON sont analysées et traitées. Reproduisez la réponse 429 contenant la charge utile d’erreur indiquée, puis vérifiez que l’interaction suit le chemin existant des erreurs traitées sans déclencher JSONDecodeError.
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é
- 2/5
- Temps estimé
- 1-3 heures
- Activité
- À l'abandon
- Clarté
- Clairement spécifiée
- Accessibilité débutants
- 45/100