|
|
|
major oops...
I set "ack:client " in the stomp subscription header and acknowlegded incorrect message id's... Reason I didn't see anything in the logs was because of a filesystem error... after a reboot and filesystem fix I do think it's a problem that a consumer behaving badly can bring the entire messaging system down... A badly behaved consumer can't bring the entire messaging system down. Dealing with slow consumers on non-persistent messaging is a common problem though - either increase the RAM, enforce persistence or use slow consumer handling...
http://incubator.apache.org/activemq/slow-consumer-handling.html Well at the moment it does bring the system "down" in a way... one consumer subscribed (with ack:client) on topic FOO behaves badly by not correctly consuming it's messages (not acknowledging them). Effect... the messaging system's RAM usage is increasing until it's depleted of available space and all subscribers (also the ones on topic BAR) stop Now imagine the badly behaving consumer being killed without closing the TCP transport like it should and the effect is the system is still not processing in my opinion it should never be possible to let a consumer lock up the system like this... |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
Are you using a cluster of brokers or a standalone broker?
Are you using the default persistence adapter?
Are you sending persistent messages or non-persistent messages?
Do you have durable subscribers or non-durable subscribers?
Are your subscribers connected all the time and is consuming messages every time?
If you can provide a small test case to replicate this issue, it will make it easier to fix.