Skip to content
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

bazel: document some tips for debug and build performance (#415). #835

Merged
merged 4 commits into from
Apr 25, 2017

Conversation

htuch
Copy link
Member

@htuch htuch commented Apr 25, 2017

No description provided.

Copy link
Contributor

@dnoe dnoe left a comment

Choose a reason for hiding this comment

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

LGTM

@mattklein123
Copy link
Member

As long as you are feeling the doc urge, can we add a few other very common ones like --test_args and --test_output ? Not sure what else might be useful.

@dnoe
Copy link
Contributor

dnoe commented Apr 25, 2017

Discussion of both --strategy=TestRunner=standalone (an option which I find to have somewhat confusing syntax...) and controlling cached test results might be good.

It might also be good to have something that discusses when in theory "bazel clean" is required, and what the --expunge option adds to clean.

@mattklein123
Copy link
Member

Also perhaps a short discussion on bazel.rc files? I was going to figure out today how to have a personal bazel.rc file that somehow gets merged with the one in tools/bazel.rc.

@htuch
Copy link
Member Author

htuch commented Apr 25, 2017

I'll add the sandbox, clean, --test_output doco. The rest I feel is better addressed in the Bazel docs (e.g. bazel.rc), but we can add a link if you'd like somewhere.

@mattklein123
Copy link
Member

I'll add the sandbox, clean, --test_output doco. The rest I feel is better addressed in the Bazel docs (e.g. bazel.rc), but we can add a link if you'd like somewhere.

Whatever you think is best. Even linking to the relevant sections of bazel docs is fine. bazel has so many options that to a newcomer just knowing the options to look at it is great.

@mattklein123 mattklein123 merged commit 24f3a8d into envoyproxy:master Apr 25, 2017
jpsim pushed a commit that referenced this pull request Nov 28, 2022
…nals (#835)

Description: Disabling signal handling in the Server::Options makes it so that the server's event dispatcher does not listen for termination signals such as SIGTERM, SIGINT, etc. Previous crashes in iOS were experienced due to out-of-band event loop exit as described in #831. Ignoring termination signals makes it more likely that the event loop will only exit due to Engine destruction.

This PR introduces Envoy::MobileMainCommon, as this is the canonical way to customize how main runs, and options setup per #3424. The new Envoy::MobileMainCommon also does away with other logic in Envoy::MainCommon that does not apply to Envoy Mobile.

Risk Level: med - low-level change in termination handling
Testing: unit test to assert option is correctly set. End to end test with iOS and Android devices to ensure clean exit when the app using envoy mobile exits (and thus destructs the engine). Moreover, there is no event loop exit any longer when the simulator app receives a SIGTERM, i.e., the event dispatcher is no longer listening to SIGTERM and exiting due to them.

Potentially fixes #831. Will need to verify with wider client release.

Signed-off-by: Jose Nino jnino@lyft.com
Signed-off-by: JP Simard <jp@jpsim.com>
jpsim pushed a commit that referenced this pull request Nov 29, 2022
…nals (#835)

Description: Disabling signal handling in the Server::Options makes it so that the server's event dispatcher does not listen for termination signals such as SIGTERM, SIGINT, etc. Previous crashes in iOS were experienced due to out-of-band event loop exit as described in #831. Ignoring termination signals makes it more likely that the event loop will only exit due to Engine destruction.

This PR introduces Envoy::MobileMainCommon, as this is the canonical way to customize how main runs, and options setup per #3424. The new Envoy::MobileMainCommon also does away with other logic in Envoy::MainCommon that does not apply to Envoy Mobile.

Risk Level: med - low-level change in termination handling
Testing: unit test to assert option is correctly set. End to end test with iOS and Android devices to ensure clean exit when the app using envoy mobile exits (and thus destructs the engine). Moreover, there is no event loop exit any longer when the simulator app receives a SIGTERM, i.e., the event dispatcher is no longer listening to SIGTERM and exiting due to them.

Potentially fixes #831. Will need to verify with wider client release.

Signed-off-by: Jose Nino jnino@lyft.com
Signed-off-by: JP Simard <jp@jpsim.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants