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

Implement exponential back off for proxy #459

Open
ivcosla opened this issue Jul 1, 2019 · 2 comments
Open

Implement exponential back off for proxy #459

ivcosla opened this issue Jul 1, 2019 · 2 comments

Comments

@ivcosla
Copy link

ivcosla commented Jul 1, 2019

Current approach to get around proxy client app failure on startup is to retry on a fixed interval until it connects with the server (until there is a route).

This is not a good solution, as a workaround I propose to follow something similar to what we have for ssh: server app, client app and then cli. the cli will be in charge of starting a proxy connection to a given server, as well as stopping it.

This way proxy-client won't fail on startup if there is no route, the cli commands will fail if there is no route, but then there is responsibility for the user to try again if he wants to.

Since it is not failing at the moment I don't think this is a prioritary task, however I would like to hear opinions on this proposal or additional ones.

@ivcosla ivcosla added this to To do in Skywire Mainnet via automation Jul 1, 2019
@gz-c
Copy link
Member

gz-c commented Jul 1, 2019

anything with retry behavior should consider exponential backoff

@ivcosla
Copy link
Author

ivcosla commented Jul 1, 2019

the retries that we added to apps have exponential backoff, but for proxy we didn't, since it needs to retry until it works, time intervals would become very big.

Maybe a max timeout can be set and apply exponential backoff with such timeout as a maximum value.

@jdknives jdknives changed the title Discussion: proxy-client avoid failure on startup Implement exponential back off for proxy Jul 12, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
No open projects
Development

No branches or pull requests

2 participants