Closed luos closed 2 years ago
Hi,
thanks for your contribution! Mirrored queues are not supported by the plugin. Are you aware of it? What did happen after you enabled the mirroring policy?
Hi,
Actually only the exchange part is in use, but because of the backing queue swap, the code is actually running. I was not aware that they are not supported.
Nothing happened, just the mirrors crashed. Other queues worked just fine.
Oh ok! Then nevermind.
Right now, queue-level deduplication only works with standard and priority queues. Mirrored, Quorum queues and streams are not supported.
This is not a problem if you use exchange-level deduplication. I will try to make a release this WE.
Thank you for the quick resolution! Thankfully, we are not using this plugin for the queues. :)
In any case, the workaround is just to apply the mirroring policy before the queues have any traffic, otherwise there may be already Unacked messages. Apart from this, everything works OK.
Version 0.5.3
released with fix. Thanks for your contribution!
For the record, queue-level deduplication works Ok, it just supports traditional and priority queues due to lack of interfaces from the broker side for new queues/streams. I am planning to start a conversation in regards with RMQ devs but, as it will require a fair amount of time, I had not the chance to do it yet.
Hi,
Recently we discovered a crash which happens when a mirroring policy is applied to a queue while it has Unacknowledged messages:
The reason:
The result is that no queue mirrors are started.
The reproduction is the following:
The reason this is happening is that after a queue mirror is synchronised it will call
zip_msgs_and_acks
if there are messages in the Unacknowledged state.https://github.com/rabbitmq/rabbitmq-server/blob/9aa4ed611cb33e810afc12c5160a7258c4473dc0/deps/rabbit/src/rabbit_mirror_queue_sync.erl#L465-L468
Please find the fix here.
I could only test it from a branch out of 0.5.0 and RabbitMQ 3.8.26, because if I made a release out of 0.5.2 was crashing with out of memory. Probably there is some incompatibility between 3.8.26 and 0.5.2?