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)