Skip to content

Commit 3dbbc82

Browse files
authored
Discourage unsafe ProtocolDetectionTimeout in mesh config (#2882)
1 parent 5c762be commit 3dbbc82

File tree

3 files changed

+12
-20
lines changed

3 files changed

+12
-20
lines changed

mesh/v1alpha1/config.pb.go

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

mesh/v1alpha1/config.proto

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ message MeshConfig {
5050
// Default timeout is 10s.
5151
google.protobuf.Duration connect_timeout = 6;
5252

53+
// $hide_from_docs
5354
// Automatic protocol detection uses a set of heuristics to
5455
// determine whether the connection is using TLS or not (on the
5556
// server side), as well as the application protocol being used
@@ -60,6 +61,11 @@ message MeshConfig {
6061
// traffic. Set this field to tweak the period that Envoy will wait
6162
// for the client to send the first bits of data. (MUST BE >=1ms or
6263
// 0s to disable). Default detection timeout is 0s (no timeout).
64+
//
65+
// Setting a timeout is not recommended nor safe. Even high timeouts (>5s) will be hit
66+
// occasionally, and when they occur the result is typically broken traffic that may not
67+
// recover on its own. Exceptionally high values might solve this, but injecting 60s delays
68+
// onto new connections is generally not tenable anyways.
6369
google.protobuf.Duration protocol_detection_timeout = 42;
6470

6571
// If set then set `SO_KEEPALIVE` on the socket to enable TCP Keepalives.

mesh/v1alpha1/istio.mesh.v1alpha1.pb.html

Lines changed: 0 additions & 20 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)