[rabbitmq-discuss] When is persister.log.previous made?
tsuraan at gmail.com
Mon Oct 19 17:10:36 BST 2009
> As an aside, why are you using transactions on the consuming side? I
> have yet to come across a use case where that is genuinely required.
Our consumers are almost always also producers, so we do the message
ack and the creation of new messages in a transaction. I'm not sure
that it's necessary; I'm used to databases, where I tend to do
everything in a transaction to ensure that everything is consistent
when I'm done, but our messaging stuff is designed to handle multiple
copies of the same message, so it's probably a bit overkill to also
I seem to remember that I had some problem when I was first looking at
rabbit that I could publish a stream of messages in non-transactional
mode, and not all the messages would be delivered (or enqueued). I
think I may have been doing something stupid like exiting my program
without closing my channel, but moving to transactional mode fixed the
problem, and I think I've been a bit religious about transactions
> When rolling the persister log, rabbit writes a snapshot of all
> currently persisted messages, and it needs to allocate memory for that
> entire snapshot.
Ok, that explains it.
>> Also, will the future (1.8?) persister still do the process described
>> in https://dev.rabbitmq.com/wiki/RabbitPersisterDesign ?
Glad to hear it :)
More information about the rabbitmq-discuss