Skip to content
This repository was archived by the owner on Jul 11, 2023. It is now read-only.

Commit 4efd6ed

Browse files
committed
envoy/rds: disable default timeout for route to clusters
Disabled the default 15s timeout for routes to clusters because this results in connections being reset when the requests take longer than 15s, such as in the case of large file transfers. Configurable timeouts to access services will be supported in a future release of OSM. Signed-off-by: Shashank Ram <[email protected]>
1 parent e166752 commit 4efd6ed

File tree

2 files changed

+16
-0
lines changed

2 files changed

+16
-0
lines changed

pkg/envoy/rds/route/route_config.go

+4
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import (
88
core "github.com/envoyproxy/go-control-plane/envoy/config/core/v3"
99
xds_route "github.com/envoyproxy/go-control-plane/envoy/config/route/v3"
1010
xds_matcher "github.com/envoyproxy/go-control-plane/envoy/type/matcher/v3"
11+
"github.com/golang/protobuf/ptypes/duration"
1112
"github.com/golang/protobuf/ptypes/wrappers"
1213

1314
"github.com/openservicemesh/osm/pkg/configurator"
@@ -225,6 +226,9 @@ func buildRoute(pathMatchTypeType trafficpolicy.PathMatchType, path string, meth
225226
ClusterSpecifier: &xds_route.RouteAction_WeightedClusters{
226227
WeightedClusters: buildWeightedCluster(weightedClusters),
227228
},
229+
// Disable default 15s timeout. This otherwise results in requests that take
230+
// longer than 15s to timeout, e.g. large file transfers.
231+
Timeout: &duration.Duration{Seconds: 0},
228232
RetryPolicy: &xds_route.RetryPolicy{
229233
RetryOn: retryPolicy.RetryOn,
230234
NumRetries: retryPolicy.NumRetries,

pkg/envoy/rds/route/route_config_test.go

+12
Original file line numberDiff line numberDiff line change
@@ -505,6 +505,7 @@ func TestBuildRoute(t *testing.T) {
505505
TotalWeight: &wrappers.UInt32Value{Value: 100},
506506
},
507507
},
508+
Timeout: &duration.Duration{Seconds: 0},
508509
RetryPolicy: &xds_route.RetryPolicy{},
509510
},
510511
},
@@ -572,6 +573,7 @@ func TestBuildRoute(t *testing.T) {
572573
TotalWeight: &wrappers.UInt32Value{Value: 100},
573574
},
574575
},
576+
Timeout: &duration.Duration{Seconds: 0},
575577
RetryPolicy: &xds_route.RetryPolicy{},
576578
},
577579
},
@@ -621,6 +623,7 @@ func TestBuildRoute(t *testing.T) {
621623
TotalWeight: &wrappers.UInt32Value{Value: 100},
622624
},
623625
},
626+
Timeout: &duration.Duration{Seconds: 0},
624627
RetryPolicy: &xds_route.RetryPolicy{
625628
RetryOn: "apple",
626629
},
@@ -673,6 +676,7 @@ func TestBuildRoute(t *testing.T) {
673676
TotalWeight: &wrappers.UInt32Value{Value: 100},
674677
},
675678
},
679+
Timeout: &duration.Duration{Seconds: 0},
676680
RetryPolicy: &xds_route.RetryPolicy{
677681
RetryOn: "banana",
678682
PerTryTimeout: &duration.Duration{Seconds: 2},
@@ -1020,6 +1024,7 @@ func TestBuildEgressRoute(t *testing.T) {
10201024
TotalWeight: &wrappers.UInt32Value{Value: 100},
10211025
},
10221026
},
1027+
Timeout: &duration.Duration{Seconds: 0},
10231028
RetryPolicy: &xds_route.RetryPolicy{
10241029
RetryOn: "pear",
10251030
PerTryTimeout: &duration.Duration{Seconds: 2},
@@ -1061,6 +1066,7 @@ func TestBuildEgressRoute(t *testing.T) {
10611066
TotalWeight: &wrappers.UInt32Value{Value: 100},
10621067
},
10631068
},
1069+
Timeout: &duration.Duration{Seconds: 0},
10641070
RetryPolicy: &xds_route.RetryPolicy{
10651071
RetryOn: "cake",
10661072
PerTryTimeout: &duration.Duration{Seconds: 2},
@@ -1211,6 +1217,7 @@ func TestBuildOutboundMeshRouteConfiguration(t *testing.T) {
12111217
TotalWeight: &wrappers.UInt32Value{Value: 100},
12121218
},
12131219
},
1220+
Timeout: &duration.Duration{Seconds: 0},
12141221
RetryPolicy: &xds_route.RetryPolicy{},
12151222
},
12161223
},
@@ -1263,6 +1270,7 @@ func TestBuildOutboundMeshRouteConfiguration(t *testing.T) {
12631270
TotalWeight: &wrappers.UInt32Value{Value: 100},
12641271
},
12651272
},
1273+
Timeout: &duration.Duration{Seconds: 0},
12661274
RetryPolicy: &xds_route.RetryPolicy{},
12671275
},
12681276
},
@@ -1321,6 +1329,7 @@ func TestBuildOutboundMeshRouteConfiguration(t *testing.T) {
13211329
TotalWeight: &wrappers.UInt32Value{Value: 100},
13221330
},
13231331
},
1332+
Timeout: &duration.Duration{Seconds: 0},
13241333
RetryPolicy: &xds_route.RetryPolicy{},
13251334
},
13261335
},
@@ -1461,6 +1470,7 @@ func TestBuildEgressRouteConfiguration(t *testing.T) {
14611470
TotalWeight: &wrappers.UInt32Value{Value: 100},
14621471
},
14631472
},
1473+
Timeout: &duration.Duration{Seconds: 0},
14641474
RetryPolicy: &xds_route.RetryPolicy{},
14651475
},
14661476
},
@@ -1507,6 +1517,7 @@ func TestBuildEgressRouteConfiguration(t *testing.T) {
15071517
TotalWeight: &wrappers.UInt32Value{Value: 100},
15081518
},
15091519
},
1520+
Timeout: &duration.Duration{Seconds: 0},
15101521
RetryPolicy: &xds_route.RetryPolicy{},
15111522
},
15121523
},
@@ -1559,6 +1570,7 @@ func TestBuildEgressRouteConfiguration(t *testing.T) {
15591570
TotalWeight: &wrappers.UInt32Value{Value: 100},
15601571
},
15611572
},
1573+
Timeout: &duration.Duration{Seconds: 0},
15621574
RetryPolicy: &xds_route.RetryPolicy{},
15631575
},
15641576
},

0 commit comments

Comments
 (0)