Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Per-request retry_params.min_wait_in_ms overwrites max_retry

Cerrado Apto para principiantes
#319 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
78/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
python
Área
api

Línea de trabajo

Comienza en openfga_sdk/api_client.py y su equivalente síncrono, leyendo el bloque _retry_params por solicitud y el comportamiento de RetryParams descrito en el issue. Actualiza ambas rutas para que la configuración de espera por solicitud no sustituya max_retry; después, ejecuta el escenario list_objects con max_retry=0 y confirma que los límites de reintentos y la configuración de espera se comportan como se espera.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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.

Lenguaje dominante
Python
Estrellas
85
Forks
37
Merge medio
5 h 10 min
PR fusionados (30 d)
3

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de openfga/python-sdk

Todos los issues de openfga/python-sdk

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.