[ 
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)

Reply via email to