[rabbitmq-discuss] mnesia tables
emile at rabbitmq.com
Fri May 13 10:14:53 BST 2011
> I am debugging a case where we have 4 messages
> (financial transactions) that are stuck in the queue in un-Acked state.
> Without some type of messageId or transactionID, I have to look directly
> at mnesia file system and try to find my data. It would be nice to be
> able to dump the records to analyse the data in the various queues (kind
> of a mysqldump that would be legible).
The contents of messages are on disk in a specialised format or in RAM
(or both), instead of mnesia tables, so mnesia browsing won't solve this
If you are trying to track down which consumer amongst many is
responsible for failing to acknowledge some messages, then "rabbitmqctl
list_channels messages_unacknowledged" and "rabbitmqctl list_consumers"
For debugging you could have all clients connect via a proxy that tracks
which consumers receives and acknowledges messages. A comparison will
reveal unacknowledged messages. The tracer tool (
http://www.rabbitmq.com/faq.html#analyse-network-traffic ) or Wireshark
( http://wiki.wireshark.org/AMQP ) may help.
Another option is to provide an alternative queue implementation which
is browsable. Alternative queue implementations that implement these
) can be swapped in by defining the "backing_queue_module" erlang
variable appropriately. If your queue implementation stores messages in
a SQL database then a "select" statement will list messages.
More information about the rabbitmq-discuss