New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Many circuits are created and almost immediately destroyed by the exit nodes due to inactivity #4089
Comments
As I recall the reason for destruction is always 0 right? |
Possibly the circuit or exit_socket's |
It seems the keep-alive interval is 15 seconds: And the circuit drop time is 20 seconds: Seems to me that, especially under high load, this is a bit close together. We might want to change the inactive period to something like a minute. |
Good details. Feel free to fix this and do a 7.2.3 release (my 2-hop downloads are now stuck for 2 days). |
After some investigation, it turns out that the exit nodes were timing out because no traffic was being sent over them. I fixed this by also updating the ExitSocket timestamp in the on_ping. I think Tribler is now more affected by this then before, since we are no longer waiting to start the download until after circuit creation (#4165). |
In #4088, I've added a feature to log some information about the circuits at the exit nodes. A run of a few minutes results in the following CSV file. The first column is the circuit ID, the second column indicates the time the circuit lived, the third/fourth column shows the bytes_up and bytes_down and the last column shows the reason for circuit destruction.
As we see, there are many circuits which are destroyed due to inactivity. This is a problem since these circuits take up slots which could be used by circuits that actually download something.
@egbertbouman do you have an explanation for this behavior?
The text was updated successfully, but these errors were encountered: