Skip to content

logging: Assert fail on pthread without log lock#2619

Merged
ggreenway merged 2 commits intoenvoyproxy:masterfrom
jmarantz:assert-fail-on-pthread-without-log-lock
Feb 15, 2018
Merged

logging: Assert fail on pthread without log lock#2619
ggreenway merged 2 commits intoenvoyproxy:masterfrom
jmarantz:assert-fail-on-pthread-without-log-lock

Conversation

@jmarantz
Copy link
Contributor

Description:
This helps Envoy fail fast in any build, if someone attempts to create a thread without having first set up mutexes for logging.

This would've helped catch the regression caused (at least in part) by #2568, which occasionally (but not always) has tsan problems on test/integration:hotrestart_test. Before rolling #2568 forward I wanted to establish that bad state is caught deterministicly.

Risk Level: Low

Release Notes: N/A

…ed logging.

Signed-off-by: Joshua Marantz <jmarantz@google.com>
Signed-off-by: Joshua Marantz <jmarantz@google.com>
@ggreenway ggreenway merged commit 98fe3e8 into envoyproxy:master Feb 15, 2018
@jmarantz jmarantz deleted the assert-fail-on-pthread-without-log-lock branch February 15, 2018 17:22
dnoe pushed a commit that referenced this pull request Feb 15, 2018
…ation (#2623)

Description:
Reverts #2613 the revert of #2568
Fixed the underlying issue which was that logging was not initialized during validation, so it ran lockless. This caused intermittent tsan errors. Although #2619 makes the failure immediate and consistent by asserting that logging has been initialized prior to spawning any threads.

Risk Level: Medium -- the earlier #2568 caused intermittent tsan errors which we believe to be fixed, but #2568 was medium-risk in the first place.

Release Notes: N/A
lita pushed a commit to lita/envoy that referenced this pull request Feb 15, 2018
jpsim pushed a commit that referenced this pull request Nov 28, 2022
Add support for String Accessors to the C++ engine builder

Introduces a C++ StringAccessor interface and method to convert to an envoy_string_accessor.
Minor cleanup of key_value_store handling in engine_builder.cc

Part of: #2498

Risk Level: Low
Testing: New unit tests
Docs Changes: N/A
Release Notes: Updated version_history.rst

Signed-off-by: Ryan Hamilton <rch@google.com>
Signed-off-by: JP Simard <jp@jpsim.com>
jpsim pushed a commit that referenced this pull request Nov 29, 2022
Add support for String Accessors to the C++ engine builder

Introduces a C++ StringAccessor interface and method to convert to an envoy_string_accessor.
Minor cleanup of key_value_store handling in engine_builder.cc

Part of: #2498

Risk Level: Low
Testing: New unit tests
Docs Changes: N/A
Release Notes: Updated version_history.rst

Signed-off-by: Ryan Hamilton <rch@google.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.

4 participants