You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@drill.apache.org by "Chris Westin (JIRA)" <ji...@apache.org> on 2015/04/22 21:13:59 UTC

[jira] [Updated] (DRILL-2847) DrillBuf's overridden retain()/release() mechanics appear to be broken

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

Chris Westin updated DRILL-2847:
--------------------------------
    Attachment: DRILL-2847-bug.patch.txt

/cc [~sphillips], [~vkorukanti]: this could explain the behavior you told me you were seeing.

> 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.patch.txt
>
>
> 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)