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

Gradual warm-up of recovered destination #393

Open
alnikola opened this issue Sep 3, 2020 · 1 comment
Open

Gradual warm-up of recovered destination #393

alnikola opened this issue Sep 3, 2020 · 1 comment
Labels
Type: Idea This issue is a high-level idea for discussion.
Milestone

Comments

@alnikola
Copy link
Contributor

alnikola commented Sep 3, 2020

An unhealthy destination that was excluded from the available destination list can eventually recover and start receiving traffic again. By default, it will get the same load as it was before the failure. It is a fast way to recover the full system capacity that is justified in case the root cause of the failure is fixed for good. However, if the issue is not fully solved and the destination is still unstable, an instant increase of the load can overwhelm it and bring down again.

To avoid such outcome, it's proposed to add a gradual destination warm-up strategy. This can be achieved by assigning to all destinations the new weight value in range (0, 1] controlling the probability of a destination being chosen by the load balancer. By default all destination gets 1, but if one failed and then recovered, its weight gets reset to 0 and then gradually increased back to 1.

@alnikola alnikola added the Type: Idea This issue is a high-level idea for discussion. label Sep 3, 2020
@alnikola alnikola added this to the 1.0.0 milestone Sep 3, 2020
@karelz karelz added this to Unscheduled in YARP Planning via automation Sep 3, 2020
@karelz karelz moved this from Unscheduled to 1.0 Backlog in YARP Planning Sep 3, 2020
@karelz
Copy link
Member

karelz commented Sep 3, 2020

Triage: It will be part of more general weight design, which should ideally happen in 1.0, unless it turns out to be too complicated.

@karelz karelz moved this from 1.0 Backlog to Future in YARP Planning Mar 29, 2021
@karelz karelz modified the milestones: YARP 1.0.0, Backlog Mar 29, 2021
@samsp-msft samsp-msft added the samsp_list Personal tag used when reviewing issues for further discussion label Dec 9, 2021
@karelz karelz removed the samsp_list Personal tag used when reviewing issues for further discussion label Dec 16, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Type: Idea This issue is a high-level idea for discussion.
Projects
YARP Planning
  
Future
Development

No branches or pull requests

3 participants