-
Notifications
You must be signed in to change notification settings - Fork 357
routing: fix first route load signaling #3447
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
Open
AlexanderYastrebov
wants to merge
2
commits into
master
Choose a base branch
from
routing/fix-signal-first-route-load
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
65ccf53
to
6ced6b1
Compare
AlexanderYastrebov
added a commit
to zalando-incubator/kubernetes-on-aws
that referenced
this pull request
Mar 21, 2025
AlexanderYastrebov
added a commit
to zalando-incubator/kubernetes-on-aws
that referenced
this pull request
Mar 24, 2025
6ced6b1
to
9b50459
Compare
ponimas
added a commit
to ponimas/skipper
that referenced
this pull request
Apr 8, 2025
Dataclients may load routes with arbitrary delays. When multiple dataclients are used, it's possible that one dataclient loads routes multiple times while another doesn't load any routes at all. This could incorrectly signal that the first route has been loaded, even though the routing table only contains routes from a single dataclient. This change fixes route update logic to signal first load only after routes from all configured dataclients are received at least once. An alternative to zalando#3447 Signed-off-by: Aleksandr Ponimaskin <aleksandr.ponimaskin@zalando.de>
Update test such that first dataclient serves initial load and an update while second dataclient delays initial load by multiple poll intervals. The test failure demonstrates incorrect signaling implementation added by #1710 Updates #1709 Signed-off-by: Alexander Yastrebov <alexander.yastrebov@zalando.de>
Dataclients may load routes with arbitrary delays so it may happen that of two dataclients the first loads routes twice and the second zero times which would signal first route loaded condition although routing table would only contain routes from the first dataclient. This change fixes route update logic to signal first load only after routes from all configured dataclients are received at least once. Updates #1709 Updates #1710 Signed-off-by: Alexander Yastrebov <alexander.yastrebov@zalando.de>
9b50459
to
0b152e4
Compare
👍 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Dataclients may load routes with arbitrary delays so it may happen
that of two dataclients the first loads routes twice and the second zero
times which would signal first route loaded condition although
routing table would only contain routes from the first dataclient.
This change fixes route update logic to signal first load only after
routes from all configured dataclients are received at least once.
Updates #1709
Updates #1710