Skip to content
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

Producer does not retry messages when shutting down #419

Closed
eapache opened this issue Apr 13, 2015 · 1 comment · Fixed by #420
Closed

Producer does not retry messages when shutting down #419

eapache opened this issue Apr 13, 2015 · 1 comment · Fixed by #420
Labels

Comments

@eapache
Copy link
Contributor

eapache commented Apr 13, 2015

I almost filed this as an enhancement, since this was a design trade-off/simplification I explicitly made when building the current producer, but I guess it qualifies as sufficiently unexpected behaviour (for people other than me) to be considered a bug.

If you call Close or AsyncClose on a producer instance while messages are inflight, and those messages fail to produce (e.g. because leadership has moved), they will not be retried even if they have retries remaining. They will get fed back to the topicDispatcher, which will promptly return them with the confusing error ErrShuttingDown.

@eapache
Copy link
Contributor Author

eapache commented Apr 24, 2015

There are actually several variants of this problem that are real bugs as well: we can send chaser messages out the errors channel incorrectly, which can cause unexpected behaviour in userspace code which is expecting all messages to conform (especially w.r.t. metadata). This can also cause the internal retry logic to hang itself.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant