[
https://issues.apache.org/jira/browse/HBASE-22353?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Sergey Shelukhin updated HBASE-22353:
-------------------------------------
Attachment: HBASE-22353.patch
> update non-shaded netty for Hadoop 2 to a more recent version of 3.6
> --------------------------------------------------------------------
>
> Key: HBASE-22353
> URL: https://issues.apache.org/jira/browse/HBASE-22353
> Project: HBase
> Issue Type: Bug
> Reporter: Sergey Shelukhin
> Priority: Major
> Attachments: HBASE-22353.patch
>
>
> When using Netty socket for ZK, we got this deadlock.
> Appears to be https://github.com/netty/netty/issues/1181 (or one of similar
> tickets before that).
> We are using Netty 3.6.2 for Hadoop 2, seems like it should be safe to
> upgrade to 3.6.10, assuming it's purely a bugfix release for 3.6.2 and they
> are compatible?
> {noformat}
> Java stack information for the threads listed above:
> ===================================================
> "main-SendThread(...)":
> at org.jboss.netty.handler.ssl.SslHandler.wrap(SslHandler.java:958)
> - waiting to lock <0x00000000c91d8848> (a java.lang.Object)
> - locked <0x00000000cdcc7740> (a java.util.LinkedList)
> at
> org.jboss.netty.handler.ssl.SslHandler.handleDownstream(SslHandler.java:627)
> at
> org.jboss.netty.channel.DefaultChannelPipeline.sendDownstream(DefaultChannelPipeline.java:587)
> at
> org.jboss.netty.channel.DefaultChannelPipeline.sendDownstream(DefaultChannelPipeline.java:578)
> at org.jboss.netty.channel.Channels.write(Channels.java:704)
> at org.jboss.netty.channel.Channels.write(Channels.java:671)
> at
> org.jboss.netty.channel.AbstractChannel.write(AbstractChannel.java:248)
> at
> org.apache.zookeeper.ClientCnxnSocketNetty.sendPkt(ClientCnxnSocketNetty.java:268)
> at
> org.apache.zookeeper.ClientCnxnSocketNetty.doWrite(ClientCnxnSocketNetty.java:291)
> at
> org.apache.zookeeper.ClientCnxnSocketNetty.doTransport(ClientCnxnSocketNetty.java:249)
> at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1146)
> "New I/O worker #3":
> at
> org.jboss.netty.handler.ssl.SslHandler.channelClosed(SslHandler.java:1554)
> - waiting to lock <0x00000000cdcc7740> (a java.util.LinkedList)
> at
> org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:88)
> at
> org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:560)
> at
> org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:555)
> at
> org.jboss.netty.channel.Channels.fireChannelClosed(Channels.java:468)
> at
> org.jboss.netty.channel.socket.nio.AbstractNioWorker.close(AbstractNioWorker.java:351)
> at
> org.jboss.netty.channel.socket.nio.AbstractNioWorker.write0(AbstractNioWorker.java:254)
> - locked <0x00000000c91d8770> (a java.lang.Object)
> at
> org.jboss.netty.channel.socket.nio.AbstractNioWorker.writeFromUserCode(AbstractNioWorker.java:145)
> at
> org.jboss.netty.channel.socket.nio.NioClientSocketPipelineSink.eventSunk(NioClientSocketPipelineSink.java:83)
> at
> org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendDownstream(DefaultChannelPipeline.java:775)
> at org.jboss.netty.channel.Channels.write(Channels.java:725)
> at org.jboss.netty.channel.Channels.write(Channels.java:686)
> at
> org.jboss.netty.handler.ssl.SslHandler.wrapNonAppData(SslHandler.java:1140)
> at org.jboss.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1229)
> - locked <0x00000000c91d8848> (a java.lang.Object)
> at org.jboss.netty.handler.ssl.SslHandler.decode(SslHandler.java:910)
> at
> org.jboss.netty.handler.codec.frame.FrameDecoder.callDecode(FrameDecoder.java:425)
> at
> org.jboss.netty.handler.codec.frame.FrameDecoder.messageReceived(FrameDecoder.java:303)
> at
> org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)
> at
> org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:560)
> at
> org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:555)
> at
> org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:268)
> at
> org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:255)
> at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:88)
> at
> org.jboss.netty.channel.socket.nio.AbstractNioWorker.process(AbstractNioWorker.java:107)
> at
> org.jboss.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:312)
> at
> org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:88)
> at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:178)
> at
> org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)
> at
> org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> at java.lang.Thread.run(Thread.java:745)
> Found 1 deadlock.
> {noformat}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)