[
https://issues.apache.org/jira/browse/BOOKKEEPER-678?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13755692#comment-13755692
]
Rakesh R commented on BOOKKEEPER-678:
-------------------------------------
>From the netty documentation, releaseExternalResources would hang when there's
>an open channel which is managed by the channel factory. But I couldn't see
>any channel leaking from our BookieNettyServer logic and seen allChannels are
>properly adding it to the ChannelGroup and closing it before calling
>releaseExternalResources.
Considering possible bug fixes in the netty project, I had tried by upgrading
netty to '3.2.9.Final' version and now bkserver is not hanging. Any thoughts?
> BookieServer shutdown hangs indefinitely at
> NioServerSocketChannelFactory.releaseExternalResources
> --------------------------------------------------------------------------------------------------
>
> Key: BOOKKEEPER-678
> URL: https://issues.apache.org/jira/browse/BOOKKEEPER-678
> Project: Bookkeeper
> Issue Type: Bug
> Components: bookkeeper-server
> Reporter: Rakesh R
> Assignee: Rakesh R
> Fix For: 4.3.0
>
> Attachments:
> 0001-BOOKKEEPER-678-ThreadDump-bkServer-hangs-at-release-external-resources.th
>
>
> BookieFailureTest testcase hangs randomly in my environment(Windows 7), when
> I checked the threaddump, its waiting at NIO's releaseExternalResources.
> Please have a look at the following threaddump.
> {code}
> "Thread-6" prio=6 tid=0x0000000007676800 nid=0x19ac waiting on condition
> [0x000000000b1ae000]
> java.lang.Thread.State: TIMED_WAITING (parking)
> at sun.misc.Unsafe.park(Native Method)
> - parking to wait for <0x00000000c3278068> (a
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
> at
> java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:196)
> at
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2025)
> at
> java.util.concurrent.ThreadPoolExecutor.awaitTermination(ThreadPoolExecutor.java:1261)
> at
> org.jboss.netty.util.internal.ExecutorUtil.terminate(ExecutorUtil.java:107)
> at
> org.jboss.netty.channel.socket.nio.NioServerSocketChannelFactory.releaseExternalResources(NioServerSocketChannelFactory.java:146)
> at
> org.apache.bookkeeper.proto.BookieNettyServer.shutdown(BookieNettyServer.java:149)
> at
> org.apache.bookkeeper.proto.BookieServer.shutdown(BookieServer.java:138)
> - locked <0x00000000c3277ca8> (a
> org.apache.bookkeeper.proto.BookieServer)
> at
> org.apache.bookkeeper.test.BookieFailureTest.auxTestReadWriteAsyncSingleClient(BookieFailureTest.java:177)
> at
> org.apache.bookkeeper.test.BookieFailureTest.testAsyncBK3(BookieFailureTest.java:114)
> {code}
> Also, full threaddump is attached to this JIRA.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira