stackabletech / stackabletech/stackablectl
Throttle requests when api-server tries to rate limit stackablectl
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
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Ö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