feat: disable envoy stream timeout

This commit is contained in:
fengcaiwen
2022-12-09 22:03:42 +08:00
parent 1004db36b9
commit 8356ff68d2
17 changed files with 155 additions and 76 deletions

View File

@@ -63,6 +63,7 @@ func (a *Virtual) To() (
Routes: rr,
},
},
MaxDirectResponseBodySizeBytes: nil,
})
}
return
@@ -147,6 +148,12 @@ func ToRoute(clusterName string, headers map[string]string) *route.Route {
ClusterSpecifier: &route.RouteAction_Cluster{
Cluster: clusterName,
},
Timeout: durationpb.New(0),
IdleTimeout: durationpb.New(0),
MaxStreamDuration: &route.RouteAction_MaxStreamDuration{
MaxStreamDuration: durationpb.New(0),
GrpcTimeoutHeaderMax: durationpb.New(0),
},
},
},
}
@@ -164,6 +171,12 @@ func DefaultRoute() *route.Route {
ClusterSpecifier: &route.RouteAction_Cluster{
Cluster: "origin_cluster",
},
Timeout: durationpb.New(0),
IdleTimeout: durationpb.New(0),
MaxStreamDuration: &route.RouteAction_MaxStreamDuration{
MaxStreamDuration: durationpb.New(0),
GrpcTimeoutHeaderMax: durationpb.New(0),
},
},
},
}
@@ -188,9 +201,6 @@ func ToListener(listenerName string, routeName string, port int32, p corev1.Prot
httpManager := &httpconnectionmanager.HttpConnectionManager{
CodecType: httpconnectionmanager.HttpConnectionManager_AUTO,
StatPrefix: "http",
HttpFilters: []*httpconnectionmanager.HttpFilter{{
Name: wellknown.Router,
}},
RouteSpecifier: &httpconnectionmanager.HttpConnectionManager_Rds{
Rds: &httpconnectionmanager.Rds{
ConfigSource: &core.ConfigSource{
@@ -211,6 +221,10 @@ func ToListener(listenerName string, routeName string, port int32, p corev1.Prot
RouteConfigName: routeName,
},
},
HttpFilters: []*httpconnectionmanager.HttpFilter{{
Name: wellknown.Router,
}},
StreamIdleTimeout: durationpb.New(0),
}
tcpConfig := &tcpproxy.TcpProxy{

View File

@@ -68,7 +68,7 @@ func (p *Processor) ProcessFile(file NotifyMessage) {
return
}
p.logger.Debugf("will serve snapshot %+v, nodeID: %s", snapshot, config.Uid)
if err = p.cache.SetSnapshot(context.TODO(), config.Uid, snapshot); err != nil {
if err = p.cache.SetSnapshot(context.Background(), config.Uid, snapshot); err != nil {
p.logger.Errorf("snapshot error %q for %v", err, snapshot)
p.logger.Fatal(err)
}