Skip to content

Commit 937c79e

Browse files
committed
Remove the lock around the ClientsMap in the SubscriptionManager
We were seeing a deadlock where at least one Tokio task was blocked on this lock. @jsdt had some hypotheses about the specific Tokio behaviors that were causing this, but the important thing is that the lock is not necessary at all, and so we can remove it without delving into the dark depths of the Tokio scheduler. As part of this change, I split the send worker into being its own struct. That struct now holds its own copy of the clients map. This also simplifies the code that cleans up the send queue length metric.
1 parent c982195 commit 937c79e

1 file changed

Lines changed: 176 additions & 102 deletions

File tree

0 commit comments

Comments
 (0)