[FlightRPC][Java] CallbackBackpressureStrategy should not rely on listener.isReady()
- Ngôn ngữ chính
- Java
- Star
- 94
- Fork
- 152
- Merge trung bình
- 3 ngày 16 giờ
- Pull request đã merge (30 ngày)
- 11
Mô tả
According to the spec for , we can get into a state where the ready flag on the listener has already switched back to false by the time we execute the on ready handler.
We currently use the listener's ready flag after the ready handler to check if we received a spurious wake, but it's not reliable because of this. Instead we should use our own readiness flag that gets set within a synchronized block local to the CallbackBackpressureStrategy.
**Reporter**: [James Duong](https://issues.apache.org/jira/browse/ARROW-15876) / @jduo
**Note**: *This issue was originally created as [ARROW-15876](https://issues.apache.org/jira/browse/ARROW-15876). Please see the [migration documentation](https://github.com/apache/arrow/issues/14542) for further details.*
Hướng dẫn đóng góp
Hướng nghiên cứu
Bắt đầu với CallbackBackpressureStrategy và đặc tả CallStreamObserver setOnReadyHandler được liên kết trong issue. Truy vết cách cờ sẵn sàng của listener được kiểm tra sau ready handler, sau đó xác minh rằng việc hoàn tất không còn phụ thuộc vào cờ của listener đó và sử dụng trạng thái sẵn sàng đã được đồng bộ hóa của strategy.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- grpc, java
- Lĩnh vực
- api
- Loại issue
- Lỗi
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 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
- 52/100