Truly unchecked getters
- 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
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