You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is there any way to view/retrieve the waiting message in exchange , and it's x-delay value?
And what will be the plugin behaviour, if the x-delay is an neagtive value like -17 ? (In our client logs we saw some messages are pushed to exchange with negative value)
negative values are treated as "already expired" so will be routed immediately (same as a delay of zero)
when the exchange delivers a message after the delay to queues it changes the message's x-delay header to the negative value of the original delay. This way if the message ends up routed again to a delayed exchange it wont be delayed again. This way preventing duplicate delays.
In the consuming client side you might see negavite delay header values because of this
there is no easy way to inspect the currently delayed messages or their x-delay values. The messages are stored in Mnesia tables so if someone is proficient in Erlang and has access to the server it is possible but not obvious.
Disabling the plugin affects the all the exchanges we have, but we have issue only in one exchange.
So , can we delete the exchange , is the exchange deletion clears the messages ?
We are declaring the exchange and binding it to the queue in the code itself on demand only , so it will be auto declared.
No, deleting one exchange does not delete the messages belonging to that exchange (maybe it should but this is not implemented currently) The delayed message plugin has a singleton process that handles all the publishes to and deliveries from all the delayed exchanges on that node. So if you have problem only with one exchange that suggests that it is not the problem of the plugin.
I have tried it in our dev environment, deleted the exchange, declared the exchange with same name again via code , previous messages which are already in exchnage are gone.
just want to clarify if someone else finds this thread:
No, deleting one exchange does not delete the messages belonging to that exchange
If you delete and then redeclare the exchange with the exact same name and arguments, it will keep the messages. (Just tested with pluginv4.1.x)
It is possible that in your test the messages expired while the exchange was deleted, in this case they are removed from the plugin storage and not routed to any queue.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
-
#123 (comment)
@gomoripeti
Beta Was this translation helpful? Give feedback.
All reactions