[rabbitmq-discuss] RabbitMQ problem

Valentino Volonghi dialtone at gmail.com
Fri Sep 26 07:31:36 BST 2008


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1


On Sep 25, 2008, at 9:48 PM, Matthias Radestock wrote:

> This behaviour is intentional. IMO it would be wrong for the tx  
> commit to succeed when a participating queue has been deleted. The  
> AMQP spec doesn't specify what should happen in this case though, so  
> we simply throw an exception which in turn will cause the connection  
> to be closed with an INTERNAL_ERROR.

Yes, I imagined this, I don't expect it to succeed when a queue is  
removed,
although this might change some things. What if I connect with an  
auto_delete queue
non durable and in the middle of a transaction I disconnect it? Of  
course one way would
be to simply leave the queue there, but at some point the mnesia db  
would be full.

>> ====> Here's the error then: rabbitmq simply stops delivering  
>> messages  and I think
>> it actually loses all the messages that it receives after the  
>> failing  commit.
>
> That would be because the connection has been closed.

Why? This is completely unexpected to me... Also I don't think this is  
true because
I don't see the connection dropped error on the client side that I  
usually see
when I stop rabbitmq server.

>> I tried adding code that in case of a failed commit runs the rollback
>
> Since the connection will have been closed there is no point in  
> doing that.

Sure, it's just that dropping the connection because a transaction  
failed
makes the commit_failed message completely useless. Just use the
connection dropped error to mean the same thing, I'm not sure this is  
the
right behavior (from a logic point of view). If a database dropped the  
connection
every time a transaction failed they would spend more time off rather  
than doing
anything. That's why I think it's an error, after all transactions are  
isolated and
a rollback is there exactly to be able to go back to the beginning  
without any
consequences.

>> but apparently I don't even receive the failed commit message.
>
> That is strange. What client are you using?


erlang client and rabbitmq server.

- --
Valentino Volonghi aka Dialtone
Now running MacOS X 10.5
Home Page: http://www.twisted.it
http://www.adroll.com

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Darwin)

iEYEARECAAYFAkjcgcgACgkQ9Llz28widGVwwwCgkufON388f8Jj7jQc2tWe1RRy
bJcAn1xy7ZUbNFaG4g6UAQ0PFN+/bZR5
=Ltcr
-----END PGP SIGNATURE-----




More information about the rabbitmq-discuss mailing list