grpc / grpc/grpc-java

LoadBalancer/Subchannel might need keep in TRANSIENT_FAILURE until READY

Đang mở
#6,906 1 bình luận 0 reaction 0 người được giao Xem trên GitHub
enhancement
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

Mở 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

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.