-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
eds: optionalize counting of unknown fields #10982
Conversation
Signed-off-by: Phil Genera <[email protected]> Signed-off-by: Joshua Marantz <[email protected]>
…ch requested. Signed-off-by: Phil Genera <[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.
This looks like a great improvement, thanks. Some initial comments..
/wait
Signed-off-by: Phil Genera <[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.
LGTM modulo comments.
/wait
Signed-off-by: Phil Genera <[email protected]>
Signed-off-by: Phil Genera <[email protected]>
Signed-off-by: Phil Genera <[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!
/wait
|
||
bool skipValidation() override { return skip_validation_; } | ||
|
||
void setSkipValidation(bool s) { skip_validation_ = s; } |
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.
For mocks, we generally don't have setters and expose the fiels, but this doesn't hurt I guess.
return fmt::format( | ||
"{}_{}", | ||
"{}_{}_{}", |
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.
How long does this test take to run now? Generally wary of uncontrolled combinatorial explosision. If it's not too long it's fine, but prefer to have only a meaningful subset of tests validated with this setting.
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.
8.5s (locally on my corp machine), compared to 5s without the change. It's in the middle of the pack of //test/integration:all, with the longest ones in the 60s range.
It's around 20s with RBE, but still pretty average for the integration tests.
Signed-off-by: Phil Genera <[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.
LGTM modulo final comment snafu.
/wait
Signed-off-by: Phil Genera <[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.
LGTM, thanks!
Signed-off-by: Phil Genera <[email protected]>
Signed-off-by: Phil Genera <[email protected]>
Signed-off-by: Phil Genera <[email protected]>
Signed-off-by: Phil Genera <[email protected]>
Signed-off-by: Phil Genera <[email protected]>
The remaining clang-tidy complaint is pre-existing, I believe. |
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!
Commit Message: In order to speed up eds, don't necessarily visit every proto field to count its validity as WarningValidationVisitor does. This yields a ~30% speed improvement in processing very large updates in EDS.
Risk Level: medium, new feature behind a command line flag.
Testing: Unit and bechmark tests.
Docs Changes: These are probably wrong, thus the draft-ness.
Release Notes: EDS can now ignore unknown dynamic fields, for a ~30% improvement in update processing time. Behind --ignore-unknown-dynamic-fields