-
Notifications
You must be signed in to change notification settings - Fork 4k
Add an option to dead-letter rejected publishes #2015
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
Add an option to dead-letter rejected publishes #2015
Conversation
3a5d535 to
73f59b9
Compare
|
It looks like Here is the possible outputs of |
|
@Invizory hi, the code looks good. I'm going to look at the test case. Can you also add this behaviour to |
|
I've increased some timeouts in the master branch. Can you try the |
@hairyhum, sure, that's a good idea. |
73f59b9 to
bc82718
Compare
@hairyhum, at the first glance that seems to fix the problem, however, after a few runs in the I've also played with timeouts before and it doesn't seem to help. Update: Also tested locally on fcae736, still unstable: |
|
The rebased branch is also failing on CI, but on another test and for another reason: I have failed to reproduce the same behaviour locally. |
Add `reject-publish-dlx` overflow strategy, which is similar to `reject-publish` strategy, but also dead-letters rejected messages. Closes rabbitmq#1443
bc82718 to
89f464f
Compare
|
The test in question tries to kill the queue process in order to simulate a nack. That requires pretty good timing as queues will be restarted when they run into an exception, so there is a natural race condition in this test. I see no good way to address this without changing the supervision tree/implementation. Let's focus on the rest of the suite and test coverage for this new behavior. |
|
I guess we can alter the test to run a number of iterations and expect at least some nacks. That'd increase the probability of it passing but that's about it. |
|
There is another commit in master which makes the test try harder to kill the queue. But I agree that it's not related to this PR. |
This change splits the tests into groups for both the existing `reject-publish` overflow strategy and the new `reject-publish-dlx`. The corresponding queue names have been suffixed to make the tests in the groups independent and thus parallel. See rabbitmq#1443
3a7d09f to
f145c18
Compare
Add tests for `reject-publish-dlx` overflow strategy for all corresponding tests for `reject-publish` strategy. The tests are grouped to avoid code duplication. See rabbitmq#1443
|
I’ve also added tests that cover the same behaviour covered by existing tests for |
hairyhum
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good.
|
This also needs doc update in https://github.com/rabbitmq/rabbitmq-website |
@hairyhum, done in rabbitmq/rabbitmq-website#774. |
|
Management help message rabbitmq/rabbitmq-management@1d4be7f |
|
@Invizory thank you for contributing this! |
Proposed Changes
Add
reject-publish-dlxoverflow strategy, which is similar toreject-publishstrategy, but also dead-letters rejected messages.Closes #1443
Types of Changes
Checklist
CONTRIBUTING.mddocumentFurther Comments
TODOs:
reject-publish.