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

fix leaked nack tracker goroutine #418

Merged
merged 2 commits into from
Dec 16, 2020
Merged

Conversation

zzzming
Copy link
Contributor

@zzzming zzzming commented Dec 16, 2020

Motivation

The negative ack tracker, nackTracker, created by consumer_partition has leaks in many places. These goroutines left running even after the consumers are Close().

Modifications

  1. Close the nackTracker in each failure path on partition consumer creation.
  2. Only send close sig once to nackTracker goroutine.
  3. Close the nackTracker in consumer notready state too. (this may not need at the current implementation since we use sync.Once to close the tracker thread. It prevents leaks in the future).

Verifying this change

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?
  • If a feature is not applicable for documentation, explain why?
  • 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.4.0 milestone Dec 16, 2020
@merlimat merlimat merged commit c187548 into apache:master Dec 16, 2020
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.

2 participants