{"push_id":978756627,"size":2,"distinct_size":2,"ref":"refs/heads/stable","head":"89c39a5f568ed13603c71be5a308d1a048a2972b","before":"19d3e920a88d6b970c01cb6cad654d64b7cf9517","commits":[{"sha":"c74cd00bf94279b757d34e527e2c2fb7070857ba","author":{"email":"c29b6795916aafe08a1ae08d95147a056ab6815d@mirantis.com","name":"Alexey Lebedeff"},"message":"Prevent infinite loop on 'queue.declare'\n\n`rabbit_channel:handle_method` for `queue.declare` could go into\ninfinite loop, when it tries do define a queue which got somehow\ncorrupted. This fix at least will help with symptoms of this corruption\n- channel will quickly become unstuck.\n\nLoop happens due to somewhat special handling of `not_found` in\n'queue.declare' - it is treated not as an error here, but as a\npermission to proceed with queue creation. As the base case of recursion\nin `rabbit_amqqueue:with/4` is actuallly about some unrecoverable error,\nit makes sense to always return `absent` error here. It will still\nresult in `not_found` error for clients, but internally it'll be handled\ncorrectly.","distinct":true,"url":"https://api.github.com/repos/rabbitmq/rabbitmq-common/commits/c74cd00bf94279b757d34e527e2c2fb7070857ba"},{"sha":"89c39a5f568ed13603c71be5a308d1a048a2972b","author":{"email":"17b9e1c64588c7fa6419b4d29dc1f4426279ba01@novemberain.com","name":"Michael Klishin"},"message":"Merge pull request #52 from binarin/rabbitmq-common-queue-declare-infinite-loop\n\nPrevent infinite loop on 'queue.declare'","distinct":true,"url":"https://api.github.com/repos/rabbitmq/rabbitmq-common/commits/89c39a5f568ed13603c71be5a308d1a048a2972b"}]}