Skip to content

envoy: creating a stripped main base without validation server#24294

Merged
alyssawilk merged 15 commits intoenvoyproxy:mainfrom
alyssawilk:validation_server
Dec 9, 2022
Merged

envoy: creating a stripped main base without validation server#24294
alyssawilk merged 15 commits intoenvoyproxy:mainfrom
alyssawilk:validation_server

Conversation

@alyssawilk
Copy link
Copy Markdown
Contributor

@alyssawilk alyssawilk commented Dec 1, 2022

Splitting main common base into a third class, to allow for a main base without the validation server

Risk Level: Medium (added fast fail for main common base validate to mittigate)
Testing: updated tests
Docs Changes: n/a
Release Notes: did not add

@repokitteh-read-only
Copy link
Copy Markdown

CC @envoyproxy/api-shepherds: Your approval is needed for changes made to (api/envoy/|docs/root/api-docs/).
envoyproxy/api-shepherds assignee is @adisuissa
CC @envoyproxy/mobile-maintainers: FYI only for changes made to (mobile/).
envoyproxy/mobile-maintainers assignee is @abeyad
CC @envoyproxy/api-watchers: FYI only for changes made to (api/envoy/|docs/root/api-docs/).

🐱

Caused by: #24294 was opened by alyssawilk.

see: more, trace.

@alyssawilk
Copy link
Copy Markdown
Contributor Author

@abeyad this one's still a draft so please do ignore for now

@alyssawilk alyssawilk force-pushed the validation_server branch 3 times, most recently from b31fc73 to eae8eb8 Compare December 5, 2022 15:16
Signed-off-by: Alyssa Wilk <alyssar@chromium.org>
@alyssawilk
Copy link
Copy Markdown
Contributor Author

/retest

@repokitteh-read-only
Copy link
Copy Markdown

Retrying Azure Pipelines:
Check envoy-presubmit didn't fail.

🐱

Caused by: a #24294 (comment) was created by @alyssawilk.

see: more, trace.

@jpsim
Copy link
Copy Markdown
Contributor

jpsim commented Dec 5, 2022

I can confirm that this removes some stuff from the iOS framework:

# Before
$ size Envoy.framework/Envoy
508M  Envoy.framework/Envoy
$ nm Envoy.framework/Envoy | grep Server14validateConfig
                 U __ZN5Envoy6Server14validateConfigERKNS0_7OptionsERKNSt3__110shared_ptrIKNS_7Network7Address8InstanceEEERNS0_16ComponentFactoryERNS_6Thread13ThreadFactoryERNS_10Filesystem8InstanceE
0000000000005548 T __ZN5Envoy6Server14validateConfigERKNS0_7OptionsERKNSt3__110shared_ptrIKNS_7Network7Address8InstanceEEERNS0_16ComponentFactoryERNS_6Thread13ThreadFactoryERNS_10Filesystem8InstanceE
00000000000c6128 b __ZZN5Envoy6Server14validateConfigERKNS0_7OptionsERKNSt3__110shared_ptrIKNS_7Network7Address8InstanceEEERNS0_16ComponentFactoryERNS_6Thread13ThreadFactoryERNS_10Filesystem8InstanceEE7flogger
000000000008c6d8 s l___func__._ZN5Envoy6Server14validateConfigERKNS0_7OptionsERKNSt3__110shared_ptrIKNS_7Network7Address8InstanceEEERNS0_16ComponentFactoryERNS_6Thread13ThreadFactoryERNS_10Filesystem8InstanceE
# After
$ size Envoy.framework/Envoy 
504M  Envoy.framework/Envoy
$ nm Envoy.framework/Envoy | grep Server14validateConfig

I can do a more thorough review when it's ready.

@alyssawilk alyssawilk marked this pull request as ready for review December 5, 2022 20:23
@jmarantz
Copy link
Copy Markdown
Contributor

jmarantz commented Dec 6, 2022

Per IM, this requires some scrutiny of how we use the MainCommon/MainCommonBase APIs internally to ensure we have a path to being successful in the new model.

Signed-off-by: Alyssa Wilk <alyssar@chromium.org>
Copy link
Copy Markdown
Contributor

@KBaichoo KBaichoo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Few questions: Can you shed light on why we're splitting these e.g. what's the problem we're trying to solve? What the reason is we're removing validation from MainCommonBase? Thank you.

Server::Configuration::Initial& config) override;
};

class MainCommonBase {
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can this class be documented? e.g. especially differences between MainCommon and MainCommonBase

@KBaichoo
Copy link
Copy Markdown
Contributor

KBaichoo commented Dec 6, 2022

/wait

@alyssawilk alyssawilk dismissed stale reviews from KBaichoo, abeyad, and jpsim via e1c747b December 7, 2022 19:34
@alyssawilk
Copy link
Copy Markdown
Contributor Author

/wait on cI

Signed-off-by: Alyssa Wilk <alyssar@chromium.org>
Signed-off-by: Alyssa Wilk <alyssar@chromium.org>
Signed-off-by: Alyssa Wilk <alyssar@chromium.org>
source/exe/BUILD Outdated
srcs = ["main_common.cc"],
hdrs = ["main_common.h"],
deps = [
"//source/server/config_validation:server_lib",
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

cc @phlax I think this version should not have passed format checks. Did we lose buildifier on our format checks?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i believe it works the same as it always did

afaict the queue was cancelled before the check was run

it the ./tools/code_format/check_format.py script that runs it i think

Signed-off-by: Alyssa Wilk <alyssar@chromium.org>
@alyssawilk
Copy link
Copy Markdown
Contributor Author

/retest

@repokitteh-read-only
Copy link
Copy Markdown

Retrying Azure Pipelines:
Check envoy-presubmit isn't fully completed, but will still attempt retrying.
Retried failed jobs in: envoy-presubmit

🐱

Caused by: a #24294 (comment) was created by @alyssawilk.

see: more, trace.

Signed-off-by: Alyssa Wilk <alyssar@chromium.org>
Signed-off-by: Alyssa Wilk <alyssar@chromium.org>
@repokitteh-read-only
Copy link
Copy Markdown

CC @envoyproxy/coverage-shephards: FYI only for changes made to (test/per_file_coverage.sh).
envoyproxy/coverage-shephards assignee is @RyanTheOptimist

🐱

Caused by: #24294 was synchronize by alyssawilk.

see: more, trace.

Signed-off-by: alyssawilk <alyssar@chromium.org>
@alyssawilk
Copy link
Copy Markdown
Contributor Author

@KBaichoo Ci should be sorted, PTAL!

@alyssawilk alyssawilk merged commit 614d03a into envoyproxy:main Dec 9, 2022
Augustyniak added a commit that referenced this pull request Dec 12, 2022
Commit Message:
Additional Description: Register default listener. Envoy Mobile crashes in optimized builds without this change. The crash was introduced in #24294. The objc hello world app CI job was disabled in #24363 to make main green again.
Risk Level: Low
Testing:
Docs Changes:
Release Notes:
Platform Specific Features:
[Optional Runtime guard:]
[Optional Fixes #Issue]
[Optional Fixes commit #PR or SHA]
[Optional Deprecated:]
[Optional [API Considerations](https://github.com/envoyproxy/envoy/blob/main/api/review_checklist.md):]
@alyssawilk alyssawilk deleted the validation_server branch April 5, 2023 16:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants