Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

Per-request retry_params.min_wait_in_ms overwrites max_retry

Fermée Adaptée aux débutants
#319 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
2/5
Temps estimé
1-3 heures
Accessibilité débutants
78/100
Type d'issue
Bug
Clarté
Clairement spécifiée
Activité
Active
Stack technique
python
Domaine
api

Piste de recherche

Commencez dans openfga_sdk/api_client.py et son équivalent synchrone, en lisant le bloc _retry_params par requête ainsi que le comportement de RetryParams décrit dans l’issue. Mettez à jour les deux chemins afin que le paramètre d’attente par requête ne remplace pas max_retry, puis testez le scénario list_objects avec max_retry=0 et vérifiez que les limites de nouvelles tentatives et le paramètre d’attente se comportent comme prévu.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

Bug

In openfga_sdk/api_client.py (and the sync twin), applying per-request _retry_params assigns min_wait_in_ms onto max_retry:

if _retry_params is not None:
    if _retry_params.max_retry is not None:
        max_retry = _retry_params.max_retry
    if _retry_params.min_wait_in_ms is not None:
        max_retry = _retry_params.min_wait_in_ms  # should be min_wait_in_ms =
    if _retry_params.max_wait_in_sec is not None:
        max_wait_in_sec = _retry_params.max_wait_in_sec

Introduced in https://github.com/openfga/python-sdk/commit/fb553501c29e38ff21d04ac4afccae83f995b6d2 (feat: improved handling of retries (#188)). Still present on main and in v0.10.4 (latest PyPI as of 2026-09-26).

RetryParams.__init__ always sets min_wait_in_ms (default 100), so any per-request RetryParams overwrites max_retry with the wait-in-ms value.

Impact

await client.list_objects(body, options={"retry_params": RetryParams(max_retry=0)})

Intended: 1 attempt (range(0 + 1)).

Actual: max_retry becomes 100 → 101 attempts on 5xx (range(100 + 1)).

Same bug in openfga_sdk/sync/api_client.py.

Expected

if _retry_params.min_wait_in_ms is not None:
    min_wait_in_ms = _retry_params.min_wait_in_ms

Workaround

Pass a duck-typed object with max_retry=0 and min_wait_in_ms=None so the broken assignment is skipped.

Langage dominant
Python
Étoiles
85
Forks
37
Merge moyen
5 h 10 min
PR mergées (30 j)
3

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de openfga/python-sdk

Toutes les issues de openfga/python-sdk

Issues similaires

Plus d'issues Python

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.