forked from MirrorHub/synapse
Shut down the DNS threadpool (#11190)
The DNS threadpool must be explicitly stopped, otherwise Synapse will hang indefinitely when asked to shut down.
This commit is contained in:
parent
72626b78ef
commit
f3a4be8700
2 changed files with 2 additions and 0 deletions
1
changelog.d/11190.bugfix
Normal file
1
changelog.d/11190.bugfix
Normal file
|
@ -0,0 +1 @@
|
||||||
|
Fix a performance regression introduced in 1.44.0 which could cause client requests to time out when making large numbers of outbound requests.
|
|
@ -346,6 +346,7 @@ async def start(hs: "HomeServer"):
|
||||||
# numbers of DNS requests don't starve out other users of the threadpool.
|
# numbers of DNS requests don't starve out other users of the threadpool.
|
||||||
resolver_threadpool = ThreadPool(name="gai_resolver")
|
resolver_threadpool = ThreadPool(name="gai_resolver")
|
||||||
resolver_threadpool.start()
|
resolver_threadpool.start()
|
||||||
|
reactor.addSystemEventTrigger("during", "shutdown", resolver_threadpool.stop)
|
||||||
reactor.installNameResolver(
|
reactor.installNameResolver(
|
||||||
GAIResolver(reactor, getThreadPool=lambda: resolver_threadpool)
|
GAIResolver(reactor, getThreadPool=lambda: resolver_threadpool)
|
||||||
)
|
)
|
||||||
|
|
Loading…
Reference in a new issue