stackabletech / stackabletech/stackablectl

Throttle requests when api-server tries to rate limit stackablectl

Ouverte
#370 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Langage dominant
Rust
Étoiles
10
Forks
5
Merge moyen
4 h 41 min
PR mergées (30 j)
4

Description

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.

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

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.

Piste de recherche

Commencez par le chemin de requête utilisé par la commande stackablectl stacklet list et suivez la manière dont les erreurs de l’API Kubernetes sont traitées. Vérifiez si kube-rs expose déjà un comportement de nouvelle tentative ou de throttling pour les réponses HTTP 429, et reproduisez l’échec sur un cluster EKS si possible. La tâche est terminée lorsque la commande gère la condition de limitation de débit signalée sans échouer immédiatement, et que le comportement choisi est vérifié par des tests ou une reproduction.

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

Évaluation

Stack technique
kubernetes, rust
Domaine
api, cli
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
À clarifier
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

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