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

[Issue 335]Fix producer state by reconnecting when receiving unexpected receipts… #336

Merged
merged 1 commit into from
Jul 27, 2020

Conversation

dvergnes
Copy link
Contributor

@dvergnes dvergnes commented Jul 27, 2020

… (#335)

<--

Contribution Checklist

  • Name the pull request in the form "[Issue XYZ][component] Title of the pull request", where XYZ should be replaced by the actual issue number.
    Skip Issue XYZ if there is no associated github issue for this pull request.
    Skip component if you are unsure about which is the best component. E.g. [docs] Fix typo in produce method.

  • Fill out the template below to describe the changes contributed by the pull request. That will give reviewers the context they need to do the review.

  • Each pull request should address only one issue, not mix up code from multiple issues.

  • Each commit in the pull request has a meaningful commit message

  • Once all items of the checklist are addressed, remove the above text and this checklist, leaving only the filled out template below.

(The sections below can be removed for hotfixes of typos)
-->

Fixes #335

Motivation

When there is a bug in the broker causing the ACK to come back out of order. The current behavior is to log a warning and keep going. The problem is that the partition producer with this behavior cannot recover, it will be stuck in that state forever.

Modifications

The fix consists to close the connection to the broker so that the pending requests will sent again to the broker to have another chance to get a consistent state between the producer and the broker.

Verifying this change

  • Make sure that the change passes the CI checks.

This change is a trivial rework / code cleanup without any test coverage.

Does this pull request potentially affect one of the following parts:

If yes was chosen, please highlight the changes

  • Dependencies (does it add or upgrade a dependency): no
  • The public API: no
  • The schema: no
  • The default values of configurations: no
  • The wire protocol: no

Documentation

  • Does this pull request introduce a new feature? no
  • If yes, how is the feature documented? not applicable
  • If a feature is not applicable for documentation, explain why? not applicable
  • If a feature is not documented yet in this PR, please create a followup issue for adding the documentation

@merlimat merlimat added this to the 0.2.0 milestone Jul 27, 2020
@merlimat merlimat merged commit 0c7fd4a into apache:master Jul 27, 2020
@dvergnes dvergnes deleted the fix-missing-ack branch June 28, 2021 20:52
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 this pull request may close these issues.

Partition producer gets stuck if ACKs come out of order
2 participants