You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Eric Wohlstadter (JIRA)" <ji...@apache.org> on 2018/07/18 18:47:00 UTC

[jira] [Created] (HIVE-20203) Arrow SerDe leaks a DirectByteBuffer

Eric Wohlstadter created HIVE-20203:
---------------------------------------

             Summary: Arrow SerDe leaks a DirectByteBuffer
                 Key: HIVE-20203
                 URL: https://issues.apache.org/jira/browse/HIVE-20203
             Project: Hive
          Issue Type: Bug
            Reporter: Eric Wohlstadter
            Assignee: Eric Wohlstadter


ArrowColumnarBatchSerDe allocates an arrow NullableMapVector for each task that uses the serde.

The vector is a DirectByteBuffer allocated from Arrow's off-heap buffer pool.

This buffer is never closed and leaks about 1K of physical memory for each task.

This patch does three things:
 # Ensure the buffer is closed when the RecordWriter for the task is closed. 
 # Adds per-task memory accounting by assigning a ChildAllocator to each task from the RootAllocator.
 # Enforces that the ChildAllocator for a task has released all memory assigned to it, when the task is completed. 

The patch assumes that close() is always called on the RecordWriter when a task is finished (even if their is a failure during task execution). 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)