ode-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Matthieu Riou" <matth...@offthelip.org>
Subject Re: The execution queue is backed up... Forcing ContextException
Date Wed, 28 Nov 2007 16:17:09 GMT
Hi Mateusz,

I've guessing you're exhausting ODE's thread pool. When the engine can't
keep up anymore and messages are coming faster that they can be consumed,
the execution queue gets backed up and instead of accumulating messages we
throw an exception.

To increase the size of the pool, you can set the following property in
ODE's configuration:

ode-jbi.threads.pool.size=100

Let us know how it goes.

Cheers,
Matthieu

On Nov 28, 2007 6:56 AM, Nowakowski, Mateusz <
Mateusz.Nowakowski@sabre-holdings.com> wrote:

> I've performing some performance tests using Fuse 3.3.0.2 and Apache ODE
> 1.1.
>
> I tested it using 100 parallel clients.
> I used such thread pool properties:
> servicemix.corePoolSize    = 32
> servicemix.maximumPoolSize = 256
> servicemix.queueSize       = 256
>
> I started to get such exception:
>
> 05:06:21,891 | ERROR | pool-2-thread-359 | SimpleScheduler          |
> duler.simple.SimpleScheduler$4  347 | Error while executing transaction
> org.apache.ode.bpel.iapi.ContextException: The execution queue is backed
> up... Forcing ContextException
>        at
> org.apache.ode.scheduler.simple.SimpleScheduler.schedulePersistedJob(Sim
> pleScheduler.java:221)
>        at
> org.apache.ode.bpel.engine.BpelEngineImpl.onScheduledJob(BpelEngineImpl.
> java:279)
>        at
> org.apache.ode.bpel.engine.BpelServerImpl.onScheduledJob(BpelServerImpl.
> java:364)
>        at
> org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler
> .java:335)
>        at
> org.apache.ode.scheduler.simple.SimpleScheduler$4$1.call(SimpleScheduler
> .java:334)
>        at
> org.apache.ode.scheduler.simple.SimpleScheduler.execTransaction(SimpleSc
> heduler.java:173)
>        at
> org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.j
> ava:333)
>        at
> org.apache.ode.scheduler.simple.SimpleScheduler$4.call(SimpleScheduler.j
> ava:330)
>        at
> java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
>        at java.util.concurrent.FutureTask.run(FutureTask.java:123)
>        at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecuto
> r.java:650)
>        at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.ja
> va:675)
>        at java.lang.Thread.run(Thread.java:595)
>
>
> After some minutes application started going to crash (leak memory and
> finally OutOfMemoryError).
>
> What is the reason ?
>
> When I tested 50 parallel clients everything was ok.
>
> --
> Regards
> Mateusz Nowakowski
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message