Hi See http://camel.apache.org/threading-model.html
On Fri, Feb 13, 2015 at 10:58 AM, Behrad <behr...@gmail.com> wrote: > I'd have preferred to set maxQueueSize to 10000 or 100000 instead of > rolling a new executorService, isn't that configurable? > > 2015-02-13 12:33 GMT+03:30 Taariq Levack <taar...@gmail.com>: > >> You can try set a custom executorServiceRef on your error handler, by >> default the maxQueueSize is 1000, mind that you don't run OOM. >> Here's the relevant code and comments from DefaultThreadPoolFactory; >> >> // need to wrap the thread pool in a sized to guard against the >> problem that the >> // JDK created thread pool has an unbounded queue (see class >> javadoc), which mean >> // we could potentially keep adding tasks, and run out of memory. >> if (profile.getMaxPoolSize() > 0) { >> return new SizedScheduledExecutorService(answer, >> profile.getMaxQueueSize()); >> } else { >> return answer; >> } >> >> Taariq >> >> On Thu, Feb 12, 2015 at 9:29 AM, Behrad <behr...@gmail.com> wrote: >> >> > I don't think it be a SEDA queue size problem, since my SEDA endpoint >> queue >> > size is a very big number in logs, there should be something with >> > redelivery/errorHandler task queue !? >> > >> > 2015-02-12 10:23 GMT+03:30 Taariq Levack <taar...@gmail.com>: >> > >> > > Hi >> > > >> > > SEDA queue size is unbounded by default, you can try the unit test[1] >> > with >> > > a very large number, works for me in 2.14.1 and trunk. >> > > Check all your endpoints with that name, the first one to load is >> setting >> > > the size. >> > > >> > > [1] >> > > >> > > >> > >> https://github.com/apache/camel/blob/master/camel-core/src/test/java/org/apache/camel/component/seda/SedaDefaultUnboundedQueueSizeTest.java >> > > >> > > Taariq >> > > >> > > >> > > On Thu, Feb 12, 2015 at 7:33 AM, Behrad <behr...@gmail.com> wrote: >> > > >> > > > When my SEDA producer peaks seems I'm getting ExecusionService queue >> > > limit >> > > > with this trace: >> > > > >> > > > at >> > > > >> > > > >> > > >> > >> org.apache.camel.util.concurrent.SizedScheduledExecutorService.schedule(SizedScheduledExecutorService.java:74) >> > > > ~[org.apache.camel.camel-core-2.14.0.jar:2.14.0] >> > > > at >> > > > >> > > > >> > > >> > >> org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:367) >> > > > ~[org.apache.camel.camel-core-2.14.0.jar:2.14.0] >> > > > at >> > > > >> > > > >> > > >> > >> org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191) >> > > > ~[org.apache.camel.camel-core-2.14.0.jar:2.14.0] >> > > > at org.apache.camel.processor.Pipeline.process(Pipeline.java:118) >> > > > ~[org.apache.camel.camel-core-2.14.0.jar:2.14.0] >> > > > at org.apache.camel.processor.Pipeline.process(Pipeline.java:80) >> > > > ~[org.apache.camel.camel-core-2.14.0.jar:2.14.0] >> > > > at >> > > > >> > > > >> > > >> > >> org.apache.camel.processor.ChoiceProcessor.process(ChoiceProcessor.java:111) >> > > > ~[org.apache.camel.camel-core-2.14.0.jar:2.14.0] >> > > > at >> > > > >> > > > >> > > >> > >> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:72) >> > > > ~[org.apache.camel.camel-core-2.14.0.jar:2.14.0] >> > > > at >> > > > >> > > > >> > > >> > >> org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:398) >> > > > ~[org.apache.camel.camel-core-2.14.0.jar:2.14.0] >> > > > at >> > > > >> > > > >> > > >> > >> org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191) >> > > > ~[org.apache.camel.camel-core-2.14.0.jar:2.14.0] >> > > > at >> > > > >> > > > >> > > >> > >> org.apache.camel.processor.idempotent.IdempotentConsumer.process(IdempotentConsumer.java:123) >> > > > ~[org.apache.camel.camel-core-2.14.0.jar:2.14.0] >> > > > at >> > > > >> > > > >> > > >> > >> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:72) >> > > > ~[org.apache.camel.camel-core-2.14.0.jar:2.14.0] >> > > > at >> > > > >> > > > >> > > >> > >> org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:398) >> > > > ~[org.apache.camel.camel-core-2.14.0.jar:2.14.0] >> > > > at >> > > > >> > > > >> > > >> > >> org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191) >> > > > ~[org.apache.camel.camel-core-2.14.0.jar:2.14.0] >> > > > at org.apache.camel.processor.Pipeline.process(Pipeline.java:118) >> > > > ~[org.apache.camel.camel-core-2.14.0.jar:2.14.0] >> > > > at org.apache.camel.processor.Pipeline.process(Pipeline.java:80) >> > > > ~[org.apache.camel.camel-core-2.14.0.jar:2.14.0] >> > > > at >> > > > >> > > > >> > > >> > >> org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191) >> > > > ~[org.apache.camel.camel-core-2.14.0.jar:2.14.0] >> > > > at >> > > > >> > > > >> > > >> > >> org.apache.camel.component.seda.SedaConsumer.sendToConsumers(SedaConsumer.java:291) >> > > > [org.apache.camel.camel-core-2.14.0.jar:2.14.0] >> > > > at >> > > > >> > org.apache.camel.component.seda.SedaConsumer.doRun(SedaConsumer.java:200) >> > > > [org.apache.camel.camel-core-2.14.0.jar:2.14.0] >> > > > at >> > > org.apache.camel.component.seda.SedaConsumer.run(SedaConsumer.java:147) >> > > > [org.apache.camel.camel-core-2.14.0.jar:2.14.0] >> > > > at >> > > > >> > > > >> > > >> > >> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) >> > > > [na:1.8.0] >> > > > at >> > > > >> > > > >> > > >> > >> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) >> > > > [na:1.8.0] >> > > > at java.lang.Thread.run(Thread.java:744) [na:1.8.0] >> > > > >> > > > >> > > > How can I config the task queue bigger or disable the limit? 150K >> > > messages >> > > > seems not that big to me :( >> > > > >> > > > -- >> > > > --Behrad >> > > > >> > > >> > >> > >> > >> > -- >> > --Behrad >> > >> > > > > -- > --Behrad -- Claus Ibsen ----------------- Red Hat, Inc. Email: cib...@redhat.com Twitter: davsclaus Blog: http://davsclaus.com Author of Camel in Action: http://www.manning.com/ibsen hawtio: http://hawt.io/ fabric8: http://fabric8.io/