Hi. I'm really hoping I'm wrong, but I was doing some load testing with Camel and an aggregator coming off a asyncSendBody to a direct: component.
I've set the ExecutorThreadPool on the producer so that I can watch what's going on inside and eventually at about 16 msgs / second the threads start to lock on the queue's Reentrant lock and deadlock. I've checked with jstack and confirmed that they lock up on that queue lock. It looks as though the run() method holds the lock while the enqueueExchange method attempts to get the same lock and fails because the run() method never lets it go. There is a hole that opens up when sendExchanges() runs and the run() method gives up the lock. So, exchanges will get enqueued at low speeds, but at higher speeds the bulk up. -- View this message in context: http://old.nabble.com/Deadlock-condition-in-BatchProcessor%24BatchSender-tp26822335p26822335.html Sent from the Camel - Users mailing list archive at Nabble.com.
