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

limit concurrency when closing all connections handled by a Transport #4103

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

marten-seemann
Copy link
Member

I'm not 100% sure we not a Go routine here in the first place, but limiting the concurrency definitely seems reasonable.

@codecov
Copy link

codecov bot commented Sep 25, 2023

Codecov Report

Merging #4103 (50b97b0) into master (9a397ab) will decrease coverage by 0.02%.
Report is 1 commits behind head on master.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master    #4103      +/-   ##
==========================================
- Coverage   83.74%   83.72%   -0.02%     
==========================================
  Files         150      150              
  Lines       15394    15397       +3     
==========================================
  Hits        12891    12891              
- Misses       2003     2006       +3     
  Partials      500      500              
Files Changed Coverage Δ
packet_handler_map.go 84.80% <100.00%> (+0.27%) ⬆️

... and 1 file with indirect coverage changes

@marten-seemann marten-seemann added this to the v0.40 milestone Sep 25, 2023
Copy link
Collaborator

@sukunrt sukunrt left a comment

Choose a reason for hiding this comment

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

Change seems okay but I'm not sure what is the deadlock leading to the test failures. The only difference I can think of is previously we released packatHandlerMap mutex and let the goroutines run to completion and now we don't release the mutex.

@marten-seemann
Copy link
Member Author

The problem is that the connections remove their connection IDs from the map, which requires them to take the mutex which we're now still holding.

@marten-seemann marten-seemann modified the milestones: v0.40, v0.41 Oct 25, 2023
@marten-seemann marten-seemann removed this from the v0.41 milestone Dec 26, 2023
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.

None yet

2 participants