Watchdog: use abort action as a default if killing is enabled. (#13523)
Use abort action as a default if killing is enabled and we're on a supported platform. Risk Level: low Testing: unit tests Docs Changes: Included Release Notes: Included See PR #13208 for context as the reason it's part of core envoy and not an extension. Signed-off-by: Kevin Baichoo <kbaichoo@google.com> Mirrored from https://github.com/envoyproxy/envoy @ 415af040e09a1f6993c15ffc022793d39ecf5e8epull/623/head
parent
9531df245b
commit
830f86d7b0
6 changed files with 33 additions and 34 deletions
@ -1,32 +0,0 @@ |
||||
syntax = "proto3"; |
||||
|
||||
package envoy.extensions.watchdog.abort_action.v3alpha; |
||||
|
||||
import "google/protobuf/duration.proto"; |
||||
|
||||
import "udpa/annotations/status.proto"; |
||||
import "udpa/annotations/versioning.proto"; |
||||
import "validate/validate.proto"; |
||||
|
||||
option java_package = "io.envoyproxy.envoy.extensions.watchdog.abort_action.v3alpha"; |
||||
option java_outer_classname = "AbortActionProto"; |
||||
option java_multiple_files = true; |
||||
option (udpa.annotations.file_status).work_in_progress = true; |
||||
option (udpa.annotations.file_status).package_version_status = ACTIVE; |
||||
|
||||
// [#protodoc-title: Watchdog Action that sends a SIGABRT to kill the process.] |
||||
// [#extension: envoy.watchdog.abort_action] |
||||
|
||||
// A GuardDogAction that will terminate the process by sending SIGABRT to the |
||||
// stuck thread. This would allow easier access to the call stack of the stuck |
||||
// thread since we would run signal handlers on that thread. This would be |
||||
// more useful than the default watchdog kill behaviors since those PANIC |
||||
// from the watchdog's thread. |
||||
|
||||
// This is currently only implemented for systems that support kill to send |
||||
// signals. |
||||
message AbortActionConfig { |
||||
// How long to wait for the thread to respond to the SIGABRT before killing the |
||||
// process from this action. This is a blocking action. |
||||
google.protobuf.Duration wait_duration = 1; |
||||
} |
@ -0,0 +1,2 @@ |
||||
This contains watchdog actions that are part of core Envoy, and therefore cannot |
||||
be in the extensions directory. |
@ -0,0 +1,29 @@ |
||||
syntax = "proto3"; |
||||
|
||||
package envoy.watchdog.v3alpha; |
||||
|
||||
import "google/protobuf/duration.proto"; |
||||
|
||||
import "udpa/annotations/status.proto"; |
||||
import "udpa/annotations/versioning.proto"; |
||||
import "validate/validate.proto"; |
||||
|
||||
option java_package = "io.envoyproxy.envoy.watchdog.v3alpha"; |
||||
option java_outer_classname = "AbortActionProto"; |
||||
option java_multiple_files = true; |
||||
option (udpa.annotations.file_status).work_in_progress = true; |
||||
option (udpa.annotations.file_status).package_version_status = ACTIVE; |
||||
|
||||
// [#protodoc-title: Watchdog Action that kills a stuck thread to kill the process.] |
||||
|
||||
// A GuardDogAction that will terminate the process by killing the |
||||
// stuck thread. This would allow easier access to the call stack of the stuck |
||||
// thread since we would run signal handlers on that thread. By default |
||||
// this will be registered to run as the last watchdog action on KILL and |
||||
// MULTIKILL events if those are enabled. |
||||
message AbortActionConfig { |
||||
// How long to wait for the thread to respond to the thread kill function |
||||
// before killing the process from this action. This is a blocking action. |
||||
// By default this is 5 seconds. |
||||
google.protobuf.Duration wait_duration = 1; |
||||
} |
Loading…
Reference in new issue