stackabletech / stackabletech/stackablectl

Throttle requests when api-server tries to rate limit stackablectl

Abierto
#370 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Lenguaje dominante
Rust
Estrellas
10
Forks
5
Merge medio
4 h 41 min
PR fusionados (30 d)
4

Descripción

When trying to run stacklet list an an AWS eks cluster recently (replicated cluster, k8s 1.32) - the api-server was apparently unhappy about the rate at which requests were sent to retrieve details for Stackable objects.

soenke-desktop:~$ stackablectl stacklet list
An unrecoverable error occured: failed to execute stacklet (sub)command

Caused by these errors (recent errors listed first):
 1: failed to list stacklets
 2: failed to fetch data from the Kubernetes API
 3: failed to fetch data from Kubernetes API
 4: ApiError: storage is (re)initializing: TooManyRequests (ErrorResponse { status: "Failure", message: "storage is (re)initializing", reason: "TooManyRequests", code: 429 })
 5: storage is (re)initializing: TooManyRequests

We should probably somehow honour 429 status codes and throttle requests in that case. Or maybe implement this upstream in kube-rs.

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

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.

Línea de trabajo

Comienza por la ruta de solicitud utilizada por el comando stackablectl stacklet list y sigue cómo se gestionan los errores de la API de Kubernetes. Comprueba si kube-rs ya expone algún comportamiento de reintento o throttling para las respuestas HTTP 429, y reproduce el fallo contra un clúster de EKS si es posible. Se considera terminado cuando el comando gestiona la condición de límite de tasa indicada sin fallar inmediatamente, y el comportamiento elegido está verificado mediante pruebas o una reproducción.

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

Evaluación

Stack tecnológico
kubernetes, rust
Área
api, cli
Tipo de issue
Error
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Estancado
Claridad
Necesita aclaración
Aptitud para principiantes
35/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.