apache / apache/arrow-java

Truly unchecked getters

Đang mở
#1,252 0 bình luận 0 reaction 0 người được giao Xem trên GitHub
Type: enhancement
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ả

### 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

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Hướng nghiên cứu

Bắt đầu bằng việc xem xét các API getter mảng Arrow hiện có và cách sử dụng truy cập không kiểm tra trong VectorizedSparkParquetReaders.java của Iceberg tại các dòng được liên kết. Issue không nêu tên tệp hay bài kiểm tra arrow-java, vì vậy trước tiên hãy xác định những nhóm getter và vị trí kiểm thử nào bị ảnh hưởng. Công việc được xem là hoàn tất khi các API không kiểm tra được yêu cầu có thể được sử dụng nhất quán và hành vi đặt trách nhiệm lên phía gọi được kiểm thử bao phủ.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
java
Lĩnh vực
data-engineering
Loại issue
Tính năng
Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức độ hoạt động
Ít trao đổi
Độ rõ ràng
Cần làm rõ
Mức phù hợp với người mới
35/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.