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

KAFKA-18337: KafkaProducer Memory Leak in JmxReporter Class #18332

Open
wants to merge 2 commits into
base: trunk
Choose a base branch
from

Conversation

tmw090906
Copy link

Add a close status in JmxReporter, that avoid re-registering metrics to jmx after being closed, which could lead to memory leaks

relate KAFKA-18337

Committer Checklist (excluded from commit message)

  • Verify design and implementation
  • Verify test coverage and CI build status
  • Verify documentation (including upgrade notes)

…ering after being closed, which could lead to memory leaks
@github-actions github-actions bot added triage PRs from the community clients small Small PRs labels Dec 27, 2024
Copy link

github-actions bot commented Jan 4, 2025

A label of 'needs-attention' was automatically added to this PR in order to raise the
attention of the committers. Once this issue has been triaged, the triage label
should be removed to prevent this automation from happening again.

Copy link
Member

@AndrewJSchofield AndrewJSchofield left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the PR. It seems to me that the new defensive code is right down inside the reregister method, but I would have thought that the check on closed could be in the public methods such as init, metricChange and metricRemoval. All of the MBeans were unregistered when the reporter was closed already. wdyt?

@AndrewJSchofield AndrewJSchofield added ci-approved and removed needs-attention triage PRs from the community labels Jan 7, 2025
@tmw090906
Copy link
Author

Thanks for your reply! It seems that all the public methods will eventually call the reregister and the unregister . I think that the unregister method poses no potential risks after the JmxReporter is closed, so I put the check in the reregister method. wdyt?

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

Successfully merging this pull request may close these issues.

2 participants