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

Reply via email to