[rabbitmq-discuss] queue memory issues

Matthew Sackman matthew at lshift.net
Tue Nov 17 10:29:08 GMT 2009


Hi Guillem,

On Mon, Nov 16, 2009 at 07:24:23PM +0100, Guillem Corominas wrote:
> I am using RabbitMQ to send data messages between 2 java applications in 
> 2 different machines.
> Sometimes the RabbitMQ broker crashes because the queues are too large, 
> due to large comunication cuts (days).
> I tried using MessageProperties.PERSISTENT_BASIC when performing 
> basicPublish action, so it persists the messages to disk, but the 
> problem doesn't
> solve by doing that.

This is an oft reported problem, and a thorough solution has been worked
on for many months and is nearing completion. Currently, even persistent
messages are held in RAM. Persistent messages are also written out to
disk.

> I would really apreciate if someone could help me solve a couple of 
> questions (or tell me where to look at, I've looked up in the API and 
> docs, but couldn't find it):
> a) how can I give more memory to the rabbit to store (both memory and 
> persistent) messages?

At the moment, other than increasing the amount of RAM in the server,
there is not much else you can do.

> b) is it possible to make the queue discard old messages when queue 
> reaches it limit, so at least the RabbitMQ broker doesn't crash?

Sadly not, no. There is no TTL or expiry of messages, though that too is
an oft requested feature (alas, we have not started work on that yet).

Matthew




More information about the rabbitmq-discuss mailing list