Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.9.1
    • Fix Version/s: 2.9.3, 2.10.0
    • Component/s: camel-netty
    • Labels:
      None
    • Estimated Complexity:
      Unknown

      Description

      I have a route:

      from("netty:tcp://somewhere:1234?...")
      .to("bean:myBean?method=callOut")

      Where the callOut method does several things, followed by a producerTemplate call to another netty endpoint:

      producerTemplate.sendBody("netty:tcp://somewhereElse:6789...", ExchangePattern.InOut, body);

      I'm unable to proxy "directly" from/to the netty endpoints, and need to pass through this bean. However, I receive the following exception:

      Caused by: java.lang.IllegalStateException: await*() in I/O thread causes a dead lock or sudden performance drop. Use addListener() instead or call await*() from a different thread.

        Activity

        Hide
        Claus Ibsen added a comment -

        Should work now, also without using a bean, just by having from -> to

        Show
        Claus Ibsen added a comment - Should work now, also without using a bean, just by having from -> to
        Hide
        AINUL HABIB added a comment -

        This problem needs to be fixed, it is easily reproducable, This will also effect the camel load-balancing with NETTY.

        Show
        AINUL HABIB added a comment - This problem needs to be fixed, it is easily reproducable, This will also effect the camel load-balancing with NETTY.
        Hide
        Matt Narrell added a comment - - edited

        Same exception with 2.10-SNAPSHOT:

        Caused by: java.lang.IllegalStateException: await*() in I/O thread causes a dead lock or sudden performance drop. Use addListener() instead or call await*() from a different thread.
        	at org.jboss.netty.channel.DefaultChannelFuture.checkDeadLock(DefaultChannelFuture.java:314) ~[netty-3.4.2.Final.jar:na]
        	at org.jboss.netty.channel.DefaultChannelFuture.awaitUninterruptibly(DefaultChannelFuture.java:226) ~[netty-3.4.2.Final.jar:na]
        	at org.apache.camel.component.netty.NettyProducer.openChannel(NettyProducer.java:314) ~[camel-netty-2.10-20120430.022021-100.jar:2.10-SNAPSHOT]
        	at org.apache.camel.component.netty.NettyProducer.process(NettyProducer.java:175) ~[camel-netty-2.10-20120430.022021-100.jar:2.10-SNAPSHOT]
        	at org.apache.camel.processor.UnitOfWorkProcessor.processAsync(UnitOfWorkProcessor.java:150) [camel-core-2.10-20120430.021826-100.jar:2.10-SNAPSHOT]
        	at org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:117) [camel-core-2.10-20120430.021826-100.jar:2.10-SNAPSHOT]
        	at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:99) [camel-core-2.10-20120430.021826-100.jar:2.10-SNAPSHOT]
        	at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:86) [camel-core-2.10-20120430.021826-100.jar:2.10-SNAPSHOT]
        	at org.apache.camel.processor.UnitOfWorkProducer.process(UnitOfWorkProducer.java:63) ~[camel-core-2.10-20120430.021826-100.jar:2.10-SNAPSHOT]
        	at org.apache.camel.impl.ProducerCache$2.doInProducer(ProducerCache.java:352) ~[camel-core-2.10-20120430.021826-100.jar:2.10-SNAPSHOT]
        	at org.apache.camel.impl.ProducerCache$2.doInProducer(ProducerCache.java:324) ~[camel-core-2.10-20120430.021826-100.jar:2.10-SNAPSHOT]
        	at org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:223) [camel-core-2.10-20120430.021826-100.jar:2.10-SNAPSHOT]
        	at org.apache.camel.impl.ProducerCache.sendExchange(ProducerCache.java:324) [camel-core-2.10-20120430.021826-100.jar:2.10-SNAPSHOT]
        	at org.apache.camel.impl.ProducerCache.send(ProducerCache.java:186) [camel-core-2.10-20120430.021826-100.jar:2.10-SNAPSHOT]
        	at org.apache.camel.impl.DefaultProducerTemplate.send(DefaultProducerTemplate.java:115) ~[camel-core-2.10-20120430.021826-100.jar:2.10-SNAPSHOT]
        	at org.apache.camel.impl.DefaultProducerTemplate.sendBody(DefaultProducerTemplate.java:119) ~[camel-core-2.10-20120430.021826-100.jar:2.10-SNAPSHOT]
        
        Show
        Matt Narrell added a comment - - edited Same exception with 2.10-SNAPSHOT: Caused by: java.lang.IllegalStateException: await*() in I/O thread causes a dead lock or sudden performance drop. Use addListener() instead or call await*() from a different thread. at org.jboss.netty.channel.DefaultChannelFuture.checkDeadLock(DefaultChannelFuture.java:314) ~[netty-3.4.2.Final.jar:na] at org.jboss.netty.channel.DefaultChannelFuture.awaitUninterruptibly(DefaultChannelFuture.java:226) ~[netty-3.4.2.Final.jar:na] at org.apache.camel.component.netty.NettyProducer.openChannel(NettyProducer.java:314) ~[camel-netty-2.10-20120430.022021-100.jar:2.10-SNAPSHOT] at org.apache.camel.component.netty.NettyProducer.process(NettyProducer.java:175) ~[camel-netty-2.10-20120430.022021-100.jar:2.10-SNAPSHOT] at org.apache.camel.processor.UnitOfWorkProcessor.processAsync(UnitOfWorkProcessor.java:150) [camel-core-2.10-20120430.021826-100.jar:2.10-SNAPSHOT] at org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:117) [camel-core-2.10-20120430.021826-100.jar:2.10-SNAPSHOT] at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:99) [camel-core-2.10-20120430.021826-100.jar:2.10-SNAPSHOT] at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:86) [camel-core-2.10-20120430.021826-100.jar:2.10-SNAPSHOT] at org.apache.camel.processor.UnitOfWorkProducer.process(UnitOfWorkProducer.java:63) ~[camel-core-2.10-20120430.021826-100.jar:2.10-SNAPSHOT] at org.apache.camel.impl.ProducerCache$2.doInProducer(ProducerCache.java:352) ~[camel-core-2.10-20120430.021826-100.jar:2.10-SNAPSHOT] at org.apache.camel.impl.ProducerCache$2.doInProducer(ProducerCache.java:324) ~[camel-core-2.10-20120430.021826-100.jar:2.10-SNAPSHOT] at org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:223) [camel-core-2.10-20120430.021826-100.jar:2.10-SNAPSHOT] at org.apache.camel.impl.ProducerCache.sendExchange(ProducerCache.java:324) [camel-core-2.10-20120430.021826-100.jar:2.10-SNAPSHOT] at org.apache.camel.impl.ProducerCache.send(ProducerCache.java:186) [camel-core-2.10-20120430.021826-100.jar:2.10-SNAPSHOT] at org.apache.camel.impl.DefaultProducerTemplate.send(DefaultProducerTemplate.java:115) ~[camel-core-2.10-20120430.021826-100.jar:2.10-SNAPSHOT] at org.apache.camel.impl.DefaultProducerTemplate.sendBody(DefaultProducerTemplate.java:119) ~[camel-core-2.10-20120430.021826-100.jar:2.10-SNAPSHOT]
        Hide
        Claus Ibsen added a comment -

        Can you try with 2.9 or 2.10 SNAPSHOT as camel-netty have had some changes.

        Show
        Claus Ibsen added a comment - Can you try with 2.9 or 2.10 SNAPSHOT as camel-netty have had some changes.
        Hide
        Matt Narrell added a comment -

        This works fine with Mina, but chokes with Netty.

        Show
        Matt Narrell added a comment - This works fine with Mina, but chokes with Netty.

          People

          • Assignee:
            Claus Ibsen
            Reporter:
            Matt Narrell
          • Votes:
            1 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development