[ 
https://issues.apache.org/jira/browse/DRILL-2847?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chris Westin updated DRILL-2847:
--------------------------------
    Attachment: drill-mem.log

drill-mem.log (attached) generated with -bug.2.patch.txt. The remaining buffers 
are all allocated by the RPC layer. However, it's not clear if the RPC layer is 
leaking them, or it's handing them to us and we're not releasing them. Someone 
with expertise in the lowest levels of our socket handlers should look at that.

> DrillBuf's overridden retain()/release() mechanics appear to be broken
> ----------------------------------------------------------------------
>
>                 Key: DRILL-2847
>                 URL: https://issues.apache.org/jira/browse/DRILL-2847
>             Project: Apache Drill
>          Issue Type: Bug
>          Components: Execution - Flow, Execution - RPC
>    Affects Versions: 0.9.0
>            Reporter: Chris Westin
>            Assignee: Jacques Nadeau
>             Fix For: 1.0.0
>
>         Attachments: DRILL-2847-bug.2.patch.txt, DRILL-2847-bug.patch.txt, 
> drill-mem.log
>
>
> I've created a patch that demonstrates this. In the patch, code is added to 
> UnsafeDirectLittleEndian to track all the instances of that class that are 
> created (which happens when buffers are allocated inside TopLevelAllocator). 
> release() is overridden to remove these from the tracked list when they are 
> released. An @After action is added to TestTpchDistributed which checks on 
> the count of outstanding buffers. If the test is run, every case fails, and 
> each failure shows a progressively larger and larger number of outstanding 
> buffers. There are no complaints from the allocator.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to