Message loss when Mule flows are actively consuming from rabbitMQ cluster

52 views
Skip to first unread message

SAL

unread,
Aug 20, 2021, 6:57:33 PM8/20/21
to rabbitmq-users
Hi All,

We have a Rabbit MQ cluster with 3 nodes and quorum queues.
We are using exchange to publish messages and that exchange is sending same message to 4 different queues. 4 flows in mule application consuming from those queues. If the messages are actively published by publisher and consumed by Mule flows and one of the nodes are re-started then some of flows are receiving less messages. 

All mule flows log the message as they receive and we can count the messages based on message ID.

We are not losing any message if the Mule application is down.. All 4 queues has same numbers... no matter which node in rabbitMQ cluster is restarted or how many times.

We are not loosing any message in Non clustered RabbitMQ (single instance) with Mule application up... Count from the log for all 4 queues shows same number.

Any insight or help would be appreciated.

Below is my Mule connector config: Mule version 3.9

<amqps:connector name="rabbitConnectDmHv2" sslProtocol="TLS" ackMode="MULE_AUTO" activeDeclarationsOnly="false" virtualHost="${amqp.virtual.host}" numberOfChannels="20" host="${amqp.host}" port="${amqp.port}" username="${amqp.user}" password="${amqp.password}" doc:name="AMQP-0-9 Connector" prefetchCount="1">
    <receiver-threading-profile maxThreadsActive="20" poolExhaustedAction="RUN"  />
<reconnect-forever blocking="false" />
    </amqps:connector>

Thank You.



Michal Kuratczyk

unread,
Aug 23, 2021, 9:45:57 AM8/23/21
to rabbitm...@googlegroups.com
Hi,

Any chance you could build a reproducible test which shows this behaviour that we would be able to execute?

If you can't, could you provide additional details such as:
* what kind of exchange is it?
* any queue properties that you set?
* are you using acknowledgements and confirms?

Thanks,

--
You received this message because you are subscribed to the Google Groups "rabbitmq-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rabbitmq-user...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/rabbitmq-users/8a02bd6c-2aa5-4ab4-b756-8fb76976d464n%40googlegroups.com.


--
Michał
RabbitMQ team

SAL

unread,
Aug 23, 2021, 4:11:29 PM8/23/21
to rabbitmq-users
Thanks for responding.

If I write something it would be  mule flows to simply consume multiple queues.  I could answer the questions as you asked:
* what kind of exchange is it?
    Header exchange.
* any queue properties that you set?
   No Queue property, All are quorum queues.
* are you using acknowledgements and confirms?
   Yes.

Thanks-
Shahzad.

kjnilsson

unread,
Aug 24, 2021, 5:49:54 AM8/24/21
to rabbitmq-users

Can you test if terminating the consumer after the test returns the messages to the queue?

I can think of a scenario where this may happen. If that is the case then messages aren't lost but rather "stuck" (i.e. the queue has assigned the messages to the consumer but the delivery hasn't completed and may not if the consumer's prefetch is maxed out or if there are no further messages received by the queue).


Cheers

Karl

Reply all
Reply to author
Forward
0 new messages