[FlightRPC][Java] CallbackBackpressureStrategy should not rely on listener.isReady()
- 主要語言
- Java
- 星號
- 94
- 分支
- 152
- 平均合併
- 3 天 16 小時
- 30 天內合併 PR
- 11
描述
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.*
貢獻指南
研究方向
從 CallbackBackpressureStrategy 以及 issue 中連結的 CallStreamObserver setOnReadyHandler 規格開始。追蹤 ready handler 執行後如何檢查 listener 就緒旗標,然後驗證完成不再依賴該 listener 旗標,而是使用 strategy 同步的就緒狀態。
由索引模型根據 Issue 內容生成。
評估
- 技術堆疊
- grpc, java
- 領域
- api
- Issue 類型
- 缺陷
- 難度
- 3/5
- 預估耗時
- 1-2 天
- 活躍度
- 停滯
- 描述清晰度
- 基本清楚
- 新手友好度
- 52/100