You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@arrow.apache.org by "Hongze Zhang (Jira)" <ji...@apache.org> on 2021/09/18 10:06:00 UTC

[jira] [Created] (ARROW-14034) [Java] Unexpected Allocator states created after allocating buffer whose AllocationManager has different size from the requested size

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)