On 05/06/2013 16:57, Christian Posta wrote: > Sounds like it's happening exactly as you have it configured.. I assume > you're using non-persistent messages?
Thanks for your help. Yes, I know it doesn't make sense. I'm working on an existing configuration which is obviously wrong, and I'm trying to figure out/understand every single case in the configuration. I am indeed using non-persistent messages. > As Johan pointed out, your config kinda doesn't make sense :) > > The <memoryUsage> is an overall broker limit. That is, if you set your > <memoryUsage limit="40mb"> then you want to keep the aggregate of all of > your destinations <= 40mb. Therefore, if you have 40 queues, set each one > to 1mb. Or some other combo that is <= 40mb. In your case you set each > queue to 50mb (<policyEntry memoryLimit="50mb"...) which doesn't work well. > As for your questions... That's what I had thought. I have seen the config in point 3 over the internet, so I believe this config has been cargoculted from there, possibly without thinking things through. > 1) the 50mb limit doesn't kick in (you don't get PFC) because the broker > has hit the 70% limit and is spooling your messages to disk. in the first > case, it never hits the 70% mem limit of your destination because it filled > up (40mb) the broker main memory first That makes sense to me. That's the 'memory' that I see in the messages? > 2) it sure is happening :) check the logs for scenario #2... you hit the > limit on the temp store But not on the first limit? Or is it that I hit the limits and they get transferred (the messages) to the temp storage? > 3) that doesn't make sense. whip up a test case to show that. I'm kind of sure I've seen this happening. What I believe it happens is that the broker pays attention to the 500 Mb limit, rather than the 40 Mb limit. Then, what I believe it happens, is that it hits the 70% watermark (350 Mb) and then it transfer the whole thing in one go to the temp storage (which is 100 Mb), loading it at 350%. Then ActiveMQ sort of dies there. It doesn't accept anything else, and if I try to purge the queue it hangs there forever (it can list the queues on the web interface though). I will give run a test tomorrow in the office as now there's been a blackout in the office and can't access the test server. Will do tomorrow. Thanks to both of you for the prompt reply! > hope that helps :) Yes it does. Thanks again :-) J.