stackabletech / stackabletech/stackablectl
Throttle requests when api-server tries to rate limit stackablectl
Chưa có ai nhận issue này.
- Ngôn ngữ chính
- Rust
- Star
- 10
- Fork
- 5
- Merge trung bình
- 4 giờ 41 phút
- Pull request đã merge (30 ngày)
- 4
Mô tả
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.
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Hướng nghiên cứu
Bắt đầu từ đường dẫn request được lệnh stackablectl stacklet list sử dụng và theo dõi cách các lỗi API Kubernetes được xử lý. Kiểm tra xem kube-rs đã cung cấp hành vi retry hoặc throttling cho các phản hồi HTTP 429 hay chưa, và nếu có thể thì tái hiện lỗi trên một cluster EKS. Được xem là hoàn thành khi lệnh xử lý điều kiện giới hạn tốc độ được báo cáo mà không thất bại ngay lập tức, và hành vi được chọn đã được xác minh bằng các bài kiểm thử hoặc việc tái hiện.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- kubernetes, rust
- Lĩnh vực
- api, cli
- Loại issue
- Lỗi
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Cần làm rõ
- Mức phù hợp với người mới
- 35/100