stackabletech / stackabletech/stackablectl

Throttle requests when api-server tries to rate limit stackablectl

Offen
#370 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
Rust
Sterne
10
Forks
5
Ø Merge
4 Std. 41 Min.
Gemergte PRs (30 T.)
4

Beschreibung

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.

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne beim Request-Pfad, der vom Befehl stackablectl stacklet list verwendet wird, und verfolge, wie Kubernetes-API-Fehler behandelt werden. Prüfe, ob kube-rs für HTTP-429-Antworten bereits Wiederholungs- oder Throttling-Verhalten bereitstellt, und reproduziere den Fehler nach Möglichkeit in einem EKS-Cluster. Als erledigt gilt die Aufgabe, wenn der Befehl die gemeldete Rate-Limit-Bedingung behandelt, ohne sofort fehlzuschlagen, und das gewählte Verhalten durch Tests oder eine Reproduktion verifiziert wurde.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
kubernetes, rust
Bereich
api, cli
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.