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
Currently the full exchange record is stored in the key of both the main and index Mnesia tables of delayed message plugin.
My question is what is the reason for that historically and if it could be changed to only the vhost+name of the exchange (or exclude the exchange all together from the key)?
On the positive side
the exchange record does not have to be looked up when the delayed message gets delivered (very small gain)
having at least the exchange name in the key helps with counting how many messages each exchange has here (I haven't measured but I assume an mnesia select is faster if part of the key is bound)
On the negative side
if the exchange changes after a delayed message was published and stored and before it is fetched and delivered, the old value will be used for delivery. If a policy or decorator is enabled meanwhile, it won't be applied. I don't know if this is intentional, to achieve that the message is delivered in a way it would have been when it was published (although bindings are not stored) or accidental?
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
-
Currently the full exchange record is stored in the key of both the main and index Mnesia tables of delayed message plugin.
My question is what is the reason for that historically and if it could be changed to only the vhost+name of the exchange (or exclude the exchange all together from the key)?
On the positive side
On the negative side
Beta Was this translation helpful? Give feedback.
All reactions