datasource: retry policy for remote data source (#9463)
Implement a retry policy for remote data sources. Risk Level: Low Testing: Unit test Docs Changes: N/A Release Notes: added Fixes: #9438 Signed-off-by: Yan Xue <yxyan@google.com> Mirrored from https://github.com/envoyproxy/envoy @ bd7c97858556c2851589d7fb73a25e99b8687df3master-ci-test
parent
648c8dc4ea
commit
e75ca13ea1
4 changed files with 104 additions and 0 deletions
@ -0,0 +1,33 @@ |
|||||||
|
syntax = "proto3"; |
||||||
|
|
||||||
|
package envoy.api.v2.core; |
||||||
|
|
||||||
|
import "google/protobuf/duration.proto"; |
||||||
|
|
||||||
|
import "udpa/annotations/migrate.proto"; |
||||||
|
import "validate/validate.proto"; |
||||||
|
|
||||||
|
option java_package = "io.envoyproxy.envoy.api.v2.core"; |
||||||
|
option java_outer_classname = "BackoffProto"; |
||||||
|
option java_multiple_files = true; |
||||||
|
option (udpa.annotations.file_migrate).move_to_package = "envoy.config.core.v3"; |
||||||
|
|
||||||
|
// [#protodoc-title: Backoff Strategy] |
||||||
|
|
||||||
|
// Configuration defining a jittered exponential back off strategy. |
||||||
|
message BackoffStrategy { |
||||||
|
// The base interval to be used for the next back off computation. It should |
||||||
|
// be greater than zero and less than or equal to :ref:`max_interval |
||||||
|
// <envoy_api_field_core.BackoffStrategy.max_interval>`. |
||||||
|
google.protobuf.Duration base_interval = 1 [(validate.rules).duration = { |
||||||
|
required: true |
||||||
|
gte {nanos: 1000000} |
||||||
|
}]; |
||||||
|
|
||||||
|
// Specifies the maximum interval between retries. This parameter is optional, |
||||||
|
// but must be greater than or equal to the :ref:`base_interval |
||||||
|
// <envoy_api_field_core.BackoffStrategy.base_interval>` if set. The default |
||||||
|
// is 10 times the :ref:`base_interval |
||||||
|
// <envoy_api_field_core.BackoffStrategy.base_interval>`. |
||||||
|
google.protobuf.Duration max_interval = 2 [(validate.rules).duration = {gt {}}]; |
||||||
|
} |
@ -0,0 +1,35 @@ |
|||||||
|
syntax = "proto3"; |
||||||
|
|
||||||
|
package envoy.config.core.v3; |
||||||
|
|
||||||
|
import "google/protobuf/duration.proto"; |
||||||
|
|
||||||
|
import "udpa/annotations/versioning.proto"; |
||||||
|
|
||||||
|
import "validate/validate.proto"; |
||||||
|
|
||||||
|
option java_package = "io.envoyproxy.envoy.config.core.v3"; |
||||||
|
option java_outer_classname = "BackoffProto"; |
||||||
|
option java_multiple_files = true; |
||||||
|
|
||||||
|
// [#protodoc-title: Backoff Strategy] |
||||||
|
|
||||||
|
// Configuration defining a jittered exponential back off strategy. |
||||||
|
message BackoffStrategy { |
||||||
|
option (udpa.annotations.versioning).previous_message_type = "envoy.api.v2.core.BackoffStrategy"; |
||||||
|
|
||||||
|
// The base interval to be used for the next back off computation. It should |
||||||
|
// be greater than zero and less than or equal to :ref:`max_interval |
||||||
|
// <envoy_api_field_config.core.v3.BackoffStrategy.max_interval>`. |
||||||
|
google.protobuf.Duration base_interval = 1 [(validate.rules).duration = { |
||||||
|
required: true |
||||||
|
gte {nanos: 1000000} |
||||||
|
}]; |
||||||
|
|
||||||
|
// Specifies the maximum interval between retries. This parameter is optional, |
||||||
|
// but must be greater than or equal to the :ref:`base_interval |
||||||
|
// <envoy_api_field_config.core.v3.BackoffStrategy.base_interval>` if set. The default |
||||||
|
// is 10 times the :ref:`base_interval |
||||||
|
// <envoy_api_field_config.core.v3.BackoffStrategy.base_interval>`. |
||||||
|
google.protobuf.Duration max_interval = 2 [(validate.rules).duration = {gt {}}]; |
||||||
|
} |
Loading…
Reference in new issue