The default capacity of the DefaultServicePool is 100, it looks like
pool is full after some invocation.
Can you fill a JIRA[1] submit a small test case to reproduce the
error? I could be helpful for us to trace the issue.

[1]https://issues.apache.org/jira/browse/CAMEL

Willem

On Mon, Aug 6, 2012 at 11:27 PM, philippe.suray
<[email protected]> wrote:
> Hello,
>
> I use a Netty endPoint to forward messages to a client. These messages come
> from an another Netty endPoint.
>
> After several forwarded messages, an error occurs on every forwarded
> message:
>
> DEBUG 2012-08-06 15:30:06,482 [New I/O  worker #27]
> org.apache.camel.component.netty.handlers.ClientChannelHandler - Closing
> channel as an exception was thrown from Netty
> java.lang.IllegalStateException: Queue full
>         at java.util.AbstractQueue.add(AbstractQueue.java:71)
>         at 
> java.util.concurrent.ArrayBlockingQueue.add(ArrayBlockingQueue.java:209)
>         at
> org.apache.camel.impl.DefaultServicePool.release(DefaultServicePool.java:96)
>         at org.apache.camel.impl.ProducerCache$1.done(ProducerCache.java:304)
>         at
> org.apache.camel.processor.SendProcessor$2$1.done(SendProcessor.java:125)
>         at
> org.apache.camel.component.netty.handlers.ClientChannelHandler.messageReceived(ClientChannelHandler.java:162)
>         at 
> org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:296)
>         at
> org.jboss.netty.handler.codec.frame.FrameDecoder.unfoldAndFireMessageReceived(FrameDecoder.java:423)
>         at
> org.jboss.netty.handler.codec.replay.ReplayingDecoder.callDecode(ReplayingDecoder.java:538)
>         at
> org.jboss.netty.handler.codec.replay.ReplayingDecoder.messageReceived(ReplayingDecoder.java:437)
>         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:91)
>         at
> org.jboss.netty.channel.socket.nio.AbstractNioWorker.processSelectedKeys(AbstractNioWorker.java:373)
>         at
> org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:247)
>         at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:35)
>         at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>         at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>         at java.lang.Thread.run(Thread.java:662)
> DEBUG 2012-08-06 15:30:06,482 [New I/O  worker #27]
> org.apache.camel.processor.DefaultErrorHandler - Failed delivery for
> (MessageId: ID-ERIS-50013-1344256595721-0-5651 on ExchangeId:
> ID-ERIS-50013-1344256595721-0-5645). On delivery attempt: 0 caught:
> java.lang.IllegalStateException: Queue full
>
> It seems that this error occurs also here:
> http://camel.465427.n5.nabble.com/Redelivery-failure-td5713347.html
>
> Here is a snippet of the context:
> <camel:camelContext id="celloIQContext"
> xmlns="http://camel.apache.org/schema/spring";>
>                 <jmxAgent id="agent" createConnector="true"
> mbeanObjectDomainName="com.marketip.drivexpert"/>
>
>                 <camel:route id="celloIQin" >
>                         <camel:from
> uri="netty:tcp://localhost:6520?sync=true&amp;encoders=#celloIQEncoder&amp;decoders=#celloIQDecoder"
> />
>
>                 <camel:threads poolSize="10" >
>                         <camel:to uri="vm:ackMessage" />
>                 </camel:threads>
>                 </camel:route>
>
>                 <camel:route id="ackFlow">
>                         <camel:from uri="vm:ackMessage" />
>                         <camel:transform>
>                         <method ref="bytesToIcomingMessage" method="process"/>
>                 </camel:transform>
>                 <camel:process ref="ackReportComponent"/>
>                         <camel:threads poolSize="10" >
>                                 <camel:to uri="vm:forward"/>
>                         </camel:threads>
>                 </camel:route>
>
>                 <camel:route>
>                         <camel:from uri="vm:forward"/>
>                         <camel:to uri="bean:forwardComponent"/>
>                         <camel:multicast>
>                                 <camel:choice>
>                                         <camel:when>
>                                                 
> <camel:simple>${property[POINTER_FORWARD]} == true</camel:simple>
>                                                 <camel:to
> uri="netty:tcp://[address]:[port]?sync=false&amp;encoders=#celloIQForwardEncoder&amp;decoders=#celloIQDecoder"
> />
>                                         </camel:when>
>                                 </camel:choice>
>                                 <camel:to uri="vm:saveMessage"/>
>                         </camel:multicast>
>                 </camel:route>
>
>                 <camel:route id="saveFlow">
>                         <camel:from uri="vm:saveMessage"/>
>                         <camel:to uri="bean:saveMessageComponent"/>
>                 </camel:route>
>
>         </camel:camelContext>
>
> What is wrong in my Camel Context?
> Is it a bug in Camel?
>
> I have upgraded Camel from 2.9.2 to 2.10.0, the error remains.
>
> Thank you for help.
>
> Regards.
>
> Suray Philippe
>
>
>
>
> --
> View this message in context: 
> http://camel.465427.n5.nabble.com/Error-in-DefaultServicePool-on-Netty-Producer-Queue-is-full-tp5716882.html
> Sent from the Camel - Users mailing list archive at Nabble.com.

Reply via email to