InvalidStateError on output stream close in BiDi API
- Ngôn ngữ chính
- Python
- Star
- 169
- Fork
- 19
- Merge trung bình
- 1 ngày 20 giờ
- Pull request đã merge (30 ngày)
- 11
Mô tả
When using the BiDi API and closing the output stream, I always see low-level CRT futures that raise `concurrent.futures.InvalidStateError`
This seems to be occurring because `CRTResponseBody._on_complete()` is invoking `future.set_result(b"")` when the future is already in a `CANCELLED` state.
Although the error is mostly cosmetic, it still interrupts any higher-level async task loops.
Please add a guard or something like:
```
if not future.cancelled():
future.set_results(b"")
```
Hướng dẫn đóng góp
Hướng nghiên cứu
Tìm CRTResponseBody._on_complete và kiểm tra cách future của output stream được hoàn tất trong quá trình đóng. Tái hiện đường dẫn đóng của output stream trong BiDi API, sau đó xác minh rằng việc đóng nó không còn gây ra InvalidStateError khi future bị hủy.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- python
- Lĩnh vực
- api
- Loại issue
- Lỗi
- Độ khó
- 2/5
- Thời gian dự kiến
- 1-3 giờ
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức phù hợp với người mới
- 72/100