drill-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (DRILL-5156) Bit-Client thread finds closed allocator in TestDrillbitResilience unit test
Date Wed, 28 Dec 2016 05:54:58 GMT

    [ https://issues.apache.org/jira/browse/DRILL-5156?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15782140#comment-15782140
] 

ASF GitHub Bot commented on DRILL-5156:
---------------------------------------

GitHub user paul-rogers opened a pull request:

    https://github.com/apache/drill/pull/709

    DRILL-5156: BootStrapContext should close threads

    The Bit-Client thread (that's the thread name) finds a closed allocator in TestDrillbitResilience
unit test. This fix (along with DRILL-5157) eliminates two run-time problems seen in this
unit tests.
    
    BootStrapContext creates two thread pools, but does not close them. This allows the code
running in the threads to attempt to access their allocators after the allocator is closed.
This fix ensures that the
    thread pools are closed to avoid the issue.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/paul-rogers/drill DRILL-5156

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/drill/pull/709.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #709
    
----
commit 73607c33c78dd89373412c8e4c70356fa19f81fd
Author: Paul Rogers <progers@maprtech.com>
Date:   2016-12-28T01:45:16Z

    DRILL-5156: BootStrapContext should close threads
    
    Bit-Client thread finds closed allocator in TestDrillbitResilience unit
    test. This fix (along with DRILL-5157) eliminates two run-time problems
    seen in this unit tests.
    
    BootStrapContext creates two thread pools, but does not close them.
    This allows the code running in the threads to attempt to access their
    allocators after the allocator is closed. This fix ensures that the
    thread pools are closed to avoid the issue.

----


> Bit-Client thread finds closed allocator in TestDrillbitResilience unit test
> ----------------------------------------------------------------------------
>
>                 Key: DRILL-5156
>                 URL: https://issues.apache.org/jira/browse/DRILL-5156
>             Project: Apache Drill
>          Issue Type: Bug
>            Reporter: Paul Rogers
>            Assignee: Paul Rogers
>            Priority: Minor
>
> RPC thread attempts to access a closed allocator during the {{TestDrillbitResilience}}
unit test.
> Set a Java exception breakpoint for {{IllegalStateException}}. Run the {{TestDrillbitResilience}}
unit tests.
> You will see quite a few exceptions, including the following in a thread called BitClient-1:
> {code}
> RootAllocator(BaseAllocator).assertOpen() line 109
> RootAllocator(BaseAllocator).buffer(int) line 191
> DrillByteBufAllocator.buffer(int) line 49
> DrillByteBufAllocator.ioBuffer(int) line 64
> AdaptiveRecvByteBufAllocatpr$HandleImpl.allocate(ByteBufAllocator) line 104
> NioSocketChannel$NioSocketChannelUnsafe(...).read() line 117
> ...
> NioEventLoop.run() line 354
> {code}
> The test continues (then fails for some other reason), which is why this is marked as
minor. Still, it seems odd that the client thread should attempt to access a closed allocator.
> At this point, it is not clear how we got into this state. The test itself is waiting
for a response from the server in the {{tailsAfterMSorterSorting}} test.



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

Mime
View raw message