eds: optionalize counting of unknown fields#10982
Conversation
Signed-off-by: Phil Genera <pgenera@google.com> Signed-off-by: Joshua Marantz <jmarantz@google.com>
…ch requested. Signed-off-by: Phil Genera <pgenera@google.com>
htuch
left a comment
There was a problem hiding this comment.
This looks like a great improvement, thanks. Some initial comments..
/wait
Signed-off-by: Phil Genera <pgenera@google.com>
Signed-off-by: Phil Genera <pgenera@google.com>
Signed-off-by: Phil Genera <pgenera@google.com>
Signed-off-by: Phil Genera <pgenera@google.com>
|
|
||
| bool skipValidation() override { return skip_validation_; } | ||
|
|
||
| void setSkipValidation(bool s) { skip_validation_ = s; } |
There was a problem hiding this comment.
For mocks, we generally don't have setters and expose the fiels, but this doesn't hurt I guess.
| const ::testing::TestParamInfo<std::tuple<Network::Address::IpVersion, bool, bool>>& params) { | ||
| return fmt::format( | ||
| "{}_{}", | ||
| "{}_{}_{}", |
There was a problem hiding this comment.
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.
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 <pgenera@google.com>
htuch
left a comment
There was a problem hiding this comment.
LGTM modulo final comment snafu.
/wait
Signed-off-by: Phil Genera <pgenera@google.com>
Signed-off-by: Phil Genera <pgenera@google.com>
Signed-off-by: Phil Genera <pgenera@google.com>
Signed-off-by: Phil Genera <pgenera@google.com>
Signed-off-by: Phil Genera <pgenera@google.com>
|
The remaining clang-tidy complaint is pre-existing, I believe. |
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