LoadBalancer/Subchannel might need keep in TRANSIENT_FAILURE until READY
- Ngôn ngữ chính
- Java
- Star
- 12.1k
- Fork
- 4k
- Merge trung bình
- 2 ngày 17 giờ
- Pull request đã merge (30 ngày)
- 37
Mô tả
This is the same issue as #6650 for general lb/subchannel.
>If you have enough backends and they are all unavailable, then it becomes likely that at least one of them will be CONNECTING. That will delay RPCs and avoid giving them a clear error message.
When a subchannel becomes TRANSIENT_FAILURE, we want RR to continue considering it (for channel state and picking logic) TRANSIENT_FAILURE until the subchannel becomes READY. That means it would "ignore" CONNECTING subchannels, except for new and recently-READY subchannels.
Hướng dẫn đóng góp
Hướng nghiên cứu
Bắt đầu bằng cách đọc issue #6650 và tìm phần xử lý round-robin (RR) cho các load balancer và subchannel thông thường. Theo dõi cách TRANSIENT_FAILURE và CONNECTING được biểu diễn, sau đó xác định các test hiện có liên quan. Được xem là hoàn tất khi các subchannel không khả dụng vẫn được xem là TRANSIENT_FAILURE cho đến khi ở trạng thái READY, trong khi các subchannel mới và các subchannel vừa chuyển sang READY vẫn có thể kết nối.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- java
- Lĩnh vực
- distributed-systems, networking
- 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
- Khá rõ ràng
- Mức phù hợp với người mới
- 35/100