apache / apache/arrow-java

[Java] Unexpected Allocator states created after allocating buffer whose AllocationManager has different size from the requested size

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

If a buffer with altered AllocationManager size (which means, the size is different from request size) is created from a Allocator, then allocator still adds the request size rather than the altered size to its accountant. As a result inconsistency will be made once the buffer is getting destroyed because at that time the actual buffer size is used for releasing.

The predefined AllocationManager implementations don't make such inconsistencies since they always grant chunks within the request size. However we have [documented](https://github.com/apache/arrow/blob/e5f3e04b4b80c9b9c53f1f0f71f39d9f8308dced/java/memory/memory-core/src/main/java/org/apache/arrow/memory/AllocationManager.java#L184-L191) that the actual size can be altered from request size in custom implementations of AllocationManager. So this kind of customization should be supported.

**Reporter**: [Hongze Zhang](https://issues.apache.org/jira/browse/ARROW-14034) / @zhztheplayer
**Assignee**: [Hongze Zhang](https://issues.apache.org/jira/browse/ARROW-14034) / @zhztheplayer
#### PRs and other links:
- [GitHub Pull Request apache/arrow#11182](https://github.com/apache/arrow/pull/11182)

**Note**: *This issue was originally created as [ARROW-14034](https://issues.apache.org/jira/browse/ARROW-14034). Please see the [migration documentation](https://github.com/apache/arrow/issues/14542) for further details.*

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

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

Hướng nghiên cứu

Bắt đầu với tài liệu về kích thước AllocationManager được liên kết trong issue, sau đó theo dõi việc ghi nhận của allocator khi một buffer được tạo và hủy. Xem lại PR apache/arrow#11182 để biết phần việc đang được thực hiện. Hoàn thành khi các kích thước AllocationManager tùy chỉnh không còn khiến việc ghi nhận của allocator không nhất quán giữa lúc cấp phát và giải phóng.

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
backend
Loại issue
Lỗi
Độ khó
3/5
Thời gian dự kiến
1-2 ngày
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
25/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.