Skip to content

Commit a93301d

Browse files
authored
Update changelog (#899)
1 parent 56c7d69 commit a93301d

1 file changed

Lines changed: 23 additions & 0 deletions

File tree

README.rst

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,29 @@ See examples directory for more.
140140
Changelog
141141
=========
142142

143+
144+
0.32.1 (Unreleased)
145+
===================
146+
147+
* Increase timeout in ServiceInfo.request to handle loaded systems (#895) @bdraco
148+
149+
It can take a few seconds for a loaded system to run the `async_request`
150+
coroutine when the event loop is busy, or the system is CPU bound (example being
151+
Home Assistant startup). We now add an additional `_LOADED_SYSTEM_TIMEOUT` (10s)
152+
to the `run_coroutine_threadsafe` calls to ensure the coroutine has the total
153+
amount of time to run up to its internal timeout (default of 3000ms).
154+
155+
Ten seconds is a bit large of a timeout; however, it is only used in cases
156+
where we wrap other timeouts. We now expect the only instance the
157+
`run_coroutine_threadsafe` result timeout will happen in a production
158+
circumstance is when someone is running a `ServiceInfo.request()` in a thread and
159+
another thread calls `Zeroconf.close()` at just the right moment that the future
160+
is never completed unless the system is so loaded that it is nearly unresponsive.
161+
162+
The timeout for `run_coroutine_threadsafe` is the maximum time a thread can
163+
cleanly shut down when zeroconf is closed out in another thread, which should
164+
always be longer than the underlying thread operation.
165+
143166
0.32.0
144167
======
145168

0 commit comments

Comments
 (0)