Skip to content
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

Timeout for the connection (low)(in)activity in getRange #40

Open
nemanja-boric-sociomantic opened this issue Nov 22, 2017 · 4 comments

Comments

@nemanja-boric-sociomantic
Copy link
Contributor

The legacy clients have implemented the algorithms for making sure that all nodes are alive and sending traffic. It is implemented via means of monitoring the events when the individual nodes finish running the request and observing the time for the remaining nodes to finish. In the case when client sees that the individual node needs a long time to complete the request, it would "timeout" and it would stop the request.

Ideally, the client should have a mean of aborting the request on a connection that seems staled, without client needing to track the individual nodes behaviours.

@gavin-norman-sociomantic

Timing out an individual request-on-conn has two aspects:

  1. Like a full request timeout, the client could simply ditch the RoC and ignore any future incoming messages for it.
  2. It would also be nice to send a message to the node, telling it to stop. (This would handle the case of active but slow connections.)

I'm not sure how these two things would work together.

@gavin-norman-sociomantic

It seems like the simplest way to implement this is as a kind of automated, per-RoC stop, using the standard Stop protocol.

@gavin-norman-sociomantic

As for the value of the timeout, we discussed starting out with a non-configurable sanity check timeout (60s, say). We can tweak this or make it configurable, if needed.

@nemanja-boric-sociomantic nemanja-boric-sociomantic modified the milestones: neo-alpha-2, neo-aplha-3 Dec 18, 2017
@gavin-norman-sociomantic

This would help: sociomantic-tsunami/swarm#361

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants