-
Notifications
You must be signed in to change notification settings - Fork 4.9k
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
LEDS: integrating with EDS #18195
LEDS: integrating with EDS #18195
Conversation
Signed-off-by: Adi Suissa-Peleg <[email protected]>
@adisuissa thanks. Can we go over this PR at our sync tomorrow? I think I'd benefit from a guided tour given the size. |
Signed-off-by: Adi Suissa-Peleg <[email protected]>
Signed-off-by: Adi Suissa-Peleg <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overall looks good and excited to see LEDS almost there! A few implementation comments to start with, mostly about missing coverage / refactoring.
/wait
// Called upon an update to the locality. | ||
if (validateAllLedsUpdated()) { | ||
BatchUpdateHelper helper(*this); | ||
priority_set_.batchHostUpdate(helper); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is the invariant that this is called only once per update and for the last LEDS subscription to update?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is called once per LEDS update, and should cover the following cases:
- Before all the locality endpoints of a specific EDS cluster are ready (this will fail the
validateAllLedsUpdated()
call, and no actual update will occur. - Whenever a new update for some locality arrives.
Signed-off-by: Adi Suissa-Peleg <[email protected]>
Signed-off-by: Adi Suissa-Peleg <[email protected]>
Signed-off-by: Adi Suissa-Peleg <[email protected]>
Signed-off-by: Adi Suissa-Peleg <[email protected]>
Signed-off-by: Adi Suissa-Peleg <[email protected]>
Signed-off-by: Adi Suissa-Peleg <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good! Just some minor comments.
/wait
Signed-off-by: Adi Suissa-Peleg <[email protected]>
Signed-off-by: Adi Suissa-Peleg <[email protected]>
@htuch thanks for the comments. Should be ready for another pass. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, thanks!
FWIW I chatted with Adi offline and the plan is to land docs / release notes in a followup PR. |
Commit Message: LEDS: integrating with EDS
Additional Description:
Allows the usage of the LEDS protocol with EDS messages.
Most of the changes are for the integration tests.
One key question is whether we can minimize the amount of memory used when LEDS isn't used.
Risk Level: Medium - Impact EDS behavior.
Testing: Many integration tests.
Docs Changes: TBD.
Release Notes: TBD.
Platform Specific Features: N/A.
Signed-off-by: Adi Suissa-Peleg [email protected]