You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I've opened this issue to collect and track all past, current and future problems related to timeouts.
Recently we have had problems with the live demo because the http_health_check binary does not have a timeout. Healthchecks started by the docker daemon are waiting forever if they don't receive a response, consuming more and more resources until the container crashes.
There are more places where we could have such problems. I'm going to describe here some places potentially affected by this type of issue.
We do not use any framework. We handle requests directly with a loop.
We don't have timeouts.
If I'm not wrong all requests are executed sequentially. We don't use threads. If one request takes forever for some reason the server can not handle more requests and there is no timeout.
All known issues on the server side have been solved. For the client side, @da2ce7 did it (at least for the Tracker Checker), but it's still pending to merge.
I've opened this issue to collect and track all past, current and future problems related to timeouts.
Recently we have had problems with the live demo because the http_health_check binary does not have a timeout. Healthchecks started by the docker daemon are waiting forever if they don't receive a response, consuming more and more resources until the container crashes.
There are more places where we could have such problems. I'm going to describe here some places potentially affected by this type of issue.
Potentially affected code
Healthcheck binary
It's used in the tracker but also in the Index.
It's currently being fixed:
http_health_check.rs
binary #604Tracker API
It uses Axum. All services using Axum have the same problem. For more info see the issue opened in the Index. It applies the same here.
HTTP Tracker
It also uses Axum.
UDP Tracker
We do not use any framework. We handle requests directly with a loop.
We don't have timeouts.
If I'm not wrong all requests are executed sequentially. We don't use threads. If one request takes forever for some reason the server can not handle more requests and there is no timeout.
Add timeout to UDP tracker request processing #609
@da2ce7 is working on some improvements like:
I think he has not added yet the timeout feature.
By the way @WarmBeer since you are working on performance issues:
Tracker.update_torrent_with_peer_and_get_stats
performance using Criterion #496I wonder if improving the repository can improve the UDP tracker since requests are handled sequentially anyway or am I missing something @WarmBeer?
Tracker Checker
Conclusion
There might be other cases.
Relates to:
The text was updated successfully, but these errors were encountered: