Uploaded image for project: 'Camel'
  1. Camel
  2. CAMEL-10179

Frequent BlockingOperationExceptions under load in NettyProducer.openChannel()

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 2.17.2
    • 2.17.4, 2.18.0
    • camel-netty4
    • None
    • Unknown

    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:

      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]
      ...
      

      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.

      Attachments

        Activity

          People

            davsclaus Claus Ibsen
            micfra1980 Michael Frankfurter
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: