Skip to content

Conversation

@calgray
Copy link

@calgray calgray commented Oct 24, 2025

Changes

Fixes #1130 where AIOKafkaProducer and AIOKafkaConsumer raise unclosed resource warning due to an exception raising during __aenter__(). __aenter__() when an exception is raised should cleanup any partially acquired resources.

To best reproduce the issue, regression tests via mocks have been added for all the operations that need resource cleanup if an exception appears later on in the start() method. Rather than nested try-catch blocks, AsyncExitStack handles this exact situation.

Checklist

  • I think the code is well written
  • Unit tests for the changes exist
  • Documentation reflects the changes
  • Add a new news fragment into the CHANGES folder
    • name it <issue_id>.<type> (e.g. 588.bugfix)
    • if you don't have an issue_id change it to the pr id after creating the PR
    • ensure type is one of the following:
      • .feature: Signifying a new feature.
      • .bugfix: Signifying a bug fix.
      • .doc: Signifying a documentation improvement.
      • .removal: Signifying a deprecation or removal of public API.
      • .misc: A ticket has been closed, but it is not of interest to users.
    • Make sure to use full sentences with correct case and punctuation, for example: Fix issue with non-ascii contents in doctest text files.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Unclosed consumer and producer warnings when using AsyncContextManager interface

1 participant