[
https://issues.apache.org/jira/browse/DRILL-5156?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15795944#comment-15795944
]
ASF GitHub Bot commented on DRILL-5156:
---------------------------------------
Github user sudheeshkatkam commented on the issue:
https://github.com/apache/drill/pull/709
This change may not be that simple, but I could be wrong. I tried to do
something similar as part of [PR
429](https://github.com/apache/drill/pull/429/commits/0394f4caffff5aed142bb2ba0b192f3588cfda7b).
The close happens elsewhere. The "loop" is actually closed as part of
[BasicServer#close](https://github.com/apache/drill/blob/master/exec/rpc/src/main/java/org/apache/drill/exec/rpc/BasicServer.java#L218).
But it will be closed multiple times (because there may be multiple instances
of sub-classes of BasicServer, and all use the same loop), and looks like
"loop2" is not closed anywhere. The changes in PR 429 close the loops exactly
once, but I do not recollect why the PR is not merged.
> 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)