When the UI creates a long-poll subscription (e.g. /dashboards) that receives only sporadic or no updates, the UI might run into a client-side timeout, triggering the REST client to start a new request.
The handling thread in RESTBackend.hpp remains being blocked waiting for a notification from the worker though (connection->waitForUpdate();). Thus each timeout/new request blocks another HTTP worker thread until the pool is exhausted. When that happens, the REST backend stops handling requests.
When the UI creates a long-poll subscription (e.g.
/dashboards
) that receives only sporadic or no updates, the UI might run into a client-side timeout, triggering the REST client to start a new request.The handling thread in RESTBackend.hpp remains being blocked waiting for a notification from the worker though (
connection->waitForUpdate();
). Thus each timeout/new request blocks another HTTP worker thread until the pool is exhausted. When that happens, the REST backend stops handling requests.