Hey all,

We're currently investigating a load-induced problem with our MDBs, which is 
causing some issues. To summarise the chain of events briefly:

- The thread pool of our Resource Adapter is exhausted, which is most likely 
caused by interaction with an external system. This causes MDB message 
processing to stall.
- The RejectedExecutionHandler of the GeronimoWorkManager threadpool then kicks 
in and throws a RejectedExecutionException after hitting the timeout.
- The ActiveMQ consumer tied to the MDB is recreated or in case of 
maxSessions=1 completely vanishes
- The external system recovers, allowing the thread pool to catch up.

The problem is that we also have two MDBs with maxSessions = 1. If one of these 
dies, it is apparently never recreated. Later on, we are hit by a 
jakarta.jms.ResourceAllocationException because the topic fills up without its 
consumer.

Initially, I thought this was caused by the GeronimoWorkManager throwing a 
RejectedExecutionException instead of a WorkRejectedException, which I reported 
upstream: https://issues.apache.org/jira/browse/GERONIMO-6911.

However, even with the patched version, we observe the same behaviour.

-- 
Thomas Butz
OPTITOOL GmbH

Reply via email to