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)

Reply via email to