You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Michael Frankfurter (JIRA)" <ji...@apache.org> on 2016/07/25 10:04:20 UTC
[jira] [Updated] (CAMEL-10179) Frequent BlockingOperationExceptions
under load in NettyProducer.openChannel()
[ https://issues.apache.org/jira/browse/CAMEL-10179?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Michael Frankfurter updated CAMEL-10179:
----------------------------------------
Description:
I have a class that uses a netty4 producer. While doing some load testing, I started seeing a lot of stack traces like the following:
{code}
io.netty.util.concurrent.BlockingOperationException: DefaultChannelPromise@3ee2397e(incomplete)
at io.netty.util.concurrent.DefaultPromise.checkDeadLock(DefaultPromise.java:391) ~[netty-all-4.0.34.Final.jar:4.0.34.Final]
at io.netty.channel.DefaultChannelPromise.checkDeadLock(DefaultChannelPromise.java:157) ~[netty-all-4.0.34.Final.jar:4.0.34.Final]
at io.netty.util.concurrent.DefaultPromise.awaitUninterruptibly(DefaultPromise.java:284) ~[netty-all-4.0.34.Final.jar:4.0.34.Final]
at io.netty.channel.DefaultChannelPromise.awaitUninterruptibly(DefaultChannelPromise.java:135) ~[netty-all-4.0.34.Final.jar:4.0.34.Final]
at io.netty.channel.DefaultChannelPromise.awaitUninterruptibly(DefaultChannelPromise.java:28) ~[netty-all-4.0.34.Final.jar:4.0.34.Final]
at org.apache.camel.component.netty4.NettyProducer.openChannel(NettyProducer.java:468) ~[camel-netty4-2.17.1.jar:2.17.1]
...
{code}
It seems to be the same like in CAMEL-8193 but during the opening phase, not the closing phase.
I had a look at {{org.apache.camel.component.netty4.NettyProducer.openChannel()}}, line 468 and maybe using {{channelFuture..addListener(...)}} instead of {{channelFuture.awaitUninterruptibly();}} at that point may fix this issue.
Would be great if somebody could take a look.
was:
I have a class that uses a netty4 producer. While doing some load testing, I started seeing a lot of stack traces like the following:
{code}
io.netty.util.concurrent.BlockingOperationException: DefaultChannelPromise@3ee2397e(incomplete)
at io.netty.util.concurrent.DefaultPromise.checkDeadLock(DefaultPromise.java:391) ~[netty-all-4.0.34.Final.jar:4.0.34.Final]
at io.netty.channel.DefaultChannelPromise.checkDeadLock(DefaultChannelPromise.java:157) ~[netty-all-4.0.34.Final.jar:4.0.34.Final]
at io.netty.util.concurrent.DefaultPromise.awaitUninterruptibly(DefaultPromise.java:284) ~[netty-all-4.0.34.Final.jar:4.0.34.Final]
at io.netty.channel.DefaultChannelPromise.awaitUninterruptibly(DefaultChannelPromise.java:135) ~[netty-all-4.0.34.Final.jar:4.0.34.Final]
at io.netty.channel.DefaultChannelPromise.awaitUninterruptibly(DefaultChannelPromise.java:28) ~[netty-all-4.0.34.Final.jar:4.0.34.Final]
at org.apache.camel.component.netty4.NettyProducer.openChannel(NettyProducer.java:468) ~[camel-netty4-2.17.1.jar:2.17.1]
...
{code}
It seems to be the same like in CAMEL-8193 but during the opening phase, not the closing phase.
I had a look at `org.apache.camel.component.netty4.NettyProducer.openChannel(), line 468` and maybe using `channelFuture..addListener(...)` instead of `channelFuture.awaitUninterruptibly();` at that point may fix this issue.
Would be great if somebody could take a look.
> Frequent BlockingOperationExceptions under load in NettyProducer.openChannel()
> ------------------------------------------------------------------------------
>
> Key: CAMEL-10179
> URL: https://issues.apache.org/jira/browse/CAMEL-10179
> Project: Camel
> Issue Type: Bug
> Components: camel-netty4
> Affects Versions: 2.17.2
> Reporter: Michael Frankfurter
>
> I have a class that uses a netty4 producer. While doing some load testing, I started seeing a lot of stack traces like the following:
> {code}
> io.netty.util.concurrent.BlockingOperationException: DefaultChannelPromise@3ee2397e(incomplete)
> at io.netty.util.concurrent.DefaultPromise.checkDeadLock(DefaultPromise.java:391) ~[netty-all-4.0.34.Final.jar:4.0.34.Final]
> at io.netty.channel.DefaultChannelPromise.checkDeadLock(DefaultChannelPromise.java:157) ~[netty-all-4.0.34.Final.jar:4.0.34.Final]
> at io.netty.util.concurrent.DefaultPromise.awaitUninterruptibly(DefaultPromise.java:284) ~[netty-all-4.0.34.Final.jar:4.0.34.Final]
> at io.netty.channel.DefaultChannelPromise.awaitUninterruptibly(DefaultChannelPromise.java:135) ~[netty-all-4.0.34.Final.jar:4.0.34.Final]
> at io.netty.channel.DefaultChannelPromise.awaitUninterruptibly(DefaultChannelPromise.java:28) ~[netty-all-4.0.34.Final.jar:4.0.34.Final]
> at org.apache.camel.component.netty4.NettyProducer.openChannel(NettyProducer.java:468) ~[camel-netty4-2.17.1.jar:2.17.1]
> ...
> {code}
> It seems to be the same like in CAMEL-8193 but during the opening phase, not the closing phase.
> I had a look at {{org.apache.camel.component.netty4.NettyProducer.openChannel()}}, line 468 and maybe using {{channelFuture..addListener(...)}} instead of {{channelFuture.awaitUninterruptibly();}} at that point may fix this issue.
> Would be great if somebody could take a look.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)