Truly unchecked getters
- 主要語言
- Java
- 星號
- 94
- 分支
- 152
- 平均合併
- 3 天 16 小時
- 30 天內合併 PR
- 11
描述
### Describe the enhancement requested
Right now the library integrating with arrow-java needs to resort to hacks of setting environment variable or system property at runtime if it knows its usages of arrow-java can omit null and bounds checking. However, that is not true for all of the usages in the given process leading to invalid data reads or segfaults.
To avoid this pitfall I suggest we add getUnchecked apis that NEVER do any null and bound checking but put the responsibility on the caller to guard against their possibility. For example in apache iceberg https://github.com/apache/iceberg/blob/23b5ce8eeca2d894c7973e19caa5c5ec02b4e4b8/spark/v4.1/spark/src/main/java/org/apache/iceberg/spark/data/vectorized/VectorizedSparkParquetReaders.java#L44-L51
These apis would make it easy to mix libraries that use arrow as an implementation detail along with user code that operates directly on arrow arrays
貢獻指南
研究方向
首先檢視現有的 Arrow 陣列 getter API,以及連結行中 Iceberg 的 VectorizedSparkParquetReaders.java 對未檢查存取的使用情況。Issue 未指出任何 arrow-java 檔案或測試,因此請先確認受影響的 getter 系列和測試位置。完成標準是所要求的未檢查 API 均可一致地使用,且測試涵蓋由呼叫端負責的行為。
由索引模型根據 Issue 內容生成。
評估
- 技術堆疊
- java
- 領域
- data-engineering
- Issue 類型
- 功能
- 難度
- 5/5
- 預估耗時
- 一週以上
- 活躍度
- 冷清
- 描述清晰度
- 需要釐清
- 新手友好度
- 35/100