apache / apache/arrow-java

Truly unchecked getters

未關閉
#1,252 0 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視
Type: enhancement
主要語言
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

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。