[ https://issues.apache.org/jira/browse/ARROW-14034?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Hongze Zhang updated ARROW-14034: --------------------------------- Fix Version/s: 8.0.2 > [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 > Priority: Major > Labels: pull-request-available > Fix For: 8.0.2 > > Time Spent: 3h 10m > Remaining Estimate: 0h > > 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.20.10#820010)