New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Dead-lettering carries over the TTL into the new queue #18
Comments
Hmn, this is an interesting question. I suspect this won't happen if you set TTL on the queue rather than the individual messages, but even for per-message-ttl you raise an interesting question about how the semantics should work. We will have a discussion about this and let you know which way we're going shortly. Thanks for reporting it! |
In conclusion, we've decided to remove the 'expiration' property from messages that are dead-lettered, since we consider this less surprising behaviour from a user perspective. The fix is visible in http://hg.rabbitmq.com/rabbitmq-server/rev/ecd2b82b69cc and will be included in the next release. Thanks again for the report! |
Thank you very much for the response and quick turn around! The fix looks great |
Fix is due to go out in 3.1.2, which should come out in the next couple of days. |
This was included in today's release - see the release notes for details. Thanks again for raising it. |
Make pmon:demonitor/2 respect its contract
Secure replica listener using a one time token
If you set an expiration on a message, and the queue has x-dead-letter-exchange or x-dead-letter-routing-key set, when the message is pushed to the new queue, the TTL still persists.
This means that if you set up a queue to watch for dead-lettered items, if it's not processed quickly enough these messages will vanish forever.
Perhaps there should be a parameter to set the new TTL after dead-lettering, or remove the TTL after this occurs altogether?
The text was updated successfully, but these errors were encountered: