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
>

Reply via email to