File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -140,6 +140,29 @@ See examples directory for more.
140140Changelog
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+
1431660.32.0
144167======
145168
You can’t perform that action at this time.
0 commit comments