Skip to content

Close the event loop invoke_method creates for itself - #1215

Open
magic-peach wants to merge 1 commit into
dapr:mainfrom
magic-peach:fix/invoke-method-event-loop-leak
Open

magic-peach wants to merge 1 commit into
dapr:mainfrom
magic-peach:fix/invoke-method-event-loop-leak

Conversation

@magic-peach

Copy link
Copy Markdown
Contributor

Description

Every synchronous invoke_method call went through get_running_loop failing with RuntimeError, then created a brand new event loop with asyncio.new_event_loop, ran it to completion, and left it open. Each call leaked a whole event loop, visible as an unclosed event loop ResourceWarning. Now the loop is closed in a finally block, but only when this call created it, not when it reused an already running one.

Issue reference

N/A, self-discovered while reviewing the HTTP invocation client, no existing issue filed.

Checklist

  • Code compiles correctly
  • Created/updated tests
  • Extended the documentation

Every synchronous invoke_method call went through get_running_loop
failing with RuntimeError, then created a brand new event loop with
asyncio.new_event_loop, ran it to completion, and left it open. Each
call leaked a whole event loop, visible as an unclosed event loop
ResourceWarning. Now the loop is closed in a finally block, but only
when this call created it, not when it reused an already running one.

Signed-off-by: Akanksha Trehun <akankshatrehun@gmail.com>
@magic-peach
magic-peach requested review from a team as code owners September 15, 2026 18:09
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.

1 participant