Hi there
I’m using istio 1.17
I deployed to limit request_timeout with istio EnvoyFilter
apiVersion: networking.istio.io/v1alpha3
kind: EnvoyFilter
metadata:
name: request-timeout
namespace: istio-system # as defined in meshConfig resource.
spec:
configPatches:
- applyTo: NETWORK_FILTER # http connection manager is a filter in Envoy
match:
# context omitted so that this applies to both sidecars and gateways
listener:
filterChain:
filter:
name: "envoy.filters.network.http_connection_manager"
patch:
operation: MERGE
value:
name: "envoy.filters.network.http_connection_manager"
typed_config:
"@type": "type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager"
common_http_protocol_options:
idle_timeout: 3600s # 1 hour
# http2_protocol_options:
# max_concurrent_streams: 500
# initial_stream_window_size: 65536 # 64 KiB
# initial_connection_window_size: 1048576 # 1 MiB
stream_idle_timeout: 300s # 5 mins, must be disabled for long-lived and streaming requests
request_timeout: 1s # I set it to 1 second and tested it.
I’ve tested it with api that takes a long time (db data put, delete OR sleep) but request_timeout doesn’t occur
When I checked with stream_idle_timeout, timeout worked well.
(Because stream_idle_timeout worked, I understand that EnvoyFilter is well applied to my app)
Why is request_timeout not working?
Anyone knows why?