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