Hongze Zhang created ARROW-14034: ------------------------------------ Summary: [Java] Unexpected Allocator states created after allocating buffer whose AllocationManager has different size from the requested size Key: ARROW-14034 URL: https://issues.apache.org/jira/browse/ARROW-14034 Project: Apache Arrow Issue Type: Bug Components: Java Affects Versions: 5.0.0 Reporter: Hongze Zhang Assignee: Hongze Zhang Fix For: 6.0.0
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. -- This message was sent by Atlassian Jira (v8.3.4#803005)