Open Salah-Rida opened 1 week ago
What version of envoy are you using? What version of HTTP is your client using? What is your envoy config?
You could gather access log: https://www.envoyproxy.io/docs/envoy/latest/configuration/observability/access_log/usage or enable more verborse logging https://www.envoyproxy.io/docs/envoy/latest/operations/cli.html#cmdoption-l
cc @tyxia
Hello, envoy version : 1.30_distroless envoy config : cds.yaml ############################################ ` resources:
**lds.yaml #############################################**
resources: **server config**
node:
cluster: test-cluster
id: test-id
dynamic_resources:
lds_config:
path: "/etc/envoy/lds.yaml"
cds_config:
path: "/etc/envoy/cds.yaml"
admin:
access_log_path: /tmp/admin_access.log
address:
socket_address:
protocol: TCP
address: 0.0.0.0
port_value: 7000
`
logs : nothing special, no errors just waiting for response.
[2024-11-13 11:41:37.722][1][trace][upstream] [source/extensions/clusters/strict_dns/strict_dns_cluster.cc:104] starting async DNS resolution for metadata.google.internal
[2024-11-13 11:41:37.722][1][debug][dns] [source/extensions/network/dns_resolver/cares/dns_impl.cc:369] dns resolution for metadata.google.internal started
[2024-11-13 11:41:37.723][1][trace][dns] [source/extensions/network/dns_resolver/cares/dns_impl.cc:332] Setting DNS resolution timer for 5000 milliseconds
[2024-11-13 11:41:37.723][1][trace][dns] [source/extensions/network/dns_resolver/cares/dns_impl.cc:332] Setting DNS resolution timer for 5000 milliseconds
[2024-11-13 11:41:37.792][1][trace][dns] [source/extensions/network/dns_resolver/cares/dns_impl.cc:332] Setting DNS resolution timer for 5000 milliseconds
[2024-11-13 11:41:37.796][1][trace][dns] [source/extensions/network/dns_resolver/cares/dns_impl.cc:332] Setting DNS resolution timer for 5000 milliseconds
[2024-11-13 11:41:37.799][1][debug][dns] [source/extensions/network/dns_resolver/cares/dns_impl.cc:159] dns resolution without records for metadata.google.internal
[2024-11-13 11:41:37.799][1][trace][dns] [source/extensions/network/dns_resolver/cares/dns_impl.cc:332] Setting DNS resolution timer for 5000 milliseconds
[2024-11-13 11:41:37.799][1][debug][dns] [source/extensions/network/dns_resolver/cares/dns_impl.cc:289] dns resolution for metadata.google.internal completed with status 0
[2024-11-13 11:41:37.800][1][trace][upstream] [source/extensions/clusters/strict_dns/strict_dns_cluster.cc:112] async DNS resolution complete for metadata.google.internal
[2024-11-13 11:41:37.800][1][debug][upstream] [source/common/upstream/upstream_impl.cc:458] transport socket match, socket default selected for host with address 169.254.169.254:80
[2024-11-13 11:41:37.800][1][debug][upstream] [source/extensions/clusters/strict_dns/strict_dns_cluster.cc:177] DNS refresh rate reset for metadata.google.internal, refresh rate 5000 ms
[2024-11-13 11:41:40.270][1][debug][main] [source/server/server.cc:241] flushing stats
[2024-11-13 11:41:42.801][1][trace][upstream] [source/extensions/clusters/strict_dns/strict_dns_cluster.cc:104] starting async DNS resolution for metadata.google.internal
[2024-11-13 11:41:42.801][1][debug][dns] [source/extensions/network/dns_resolver/cares/dns_impl.cc:369] dns resolution for metadata.google.internal started
[2024-11-13 11:41:42.801][1][trace][dns] [source/extensions/network/dns_resolver/cares/dns_impl.cc:332] Setting DNS resolution timer for 5000 milliseconds
[2024-11-13 11:41:42.802][1][trace][dns] [source/extensions/network/dns_resolver/cares/dns_impl.cc:332] Setting DNS resolution timer for 5000 milliseconds
[2024-11-13 11:41:42.805][1][trace][dns] [source/extensions/network/dns_resolver/cares/dns_impl.cc:332] Setting DNS resolution timer for 5000 milliseconds
[2024-11-13 11:41:42.809][1][trace][dns] [source/extensions/network/dns_resolver/cares/dns_impl.cc:332] Setting DNS resolution timer for 5000 milliseconds
[2024-11-13 11:41:42.811][1][debug][dns] [source/extensions/network/dns_resolver/cares/dns_impl.cc:159] dns resolution without records for metadata.google.internal
[2024-11-13 11:41:42.811][1][trace][dns] [source/extensions/network/dns_resolver/cares/dns_impl.cc:332] Setting DNS resolution timer for 5000 milliseconds
[2024-11-13 11:41:42.812][1][debug][dns] [source/extensions/network/dns_resolver/cares/dns_impl.cc:289] dns resolution for metadata.google.internal completed with status 0
[2024-11-13 11:41:42.812][1][trace][upstream] [source/extensions/clusters/strict_dns/strict_dns_cluster.cc:112] async DNS resolution complete for metadata.google.internal
[2024-11-13 11:41:42.812][1][debug][upstream] [source/common/upstream/upstream_impl.cc:458] transport socket match, socket default selected for host with address 169.254.169.254:80
[2024-11-13 11:41:42.812][1][debug][upstream] [source/extensions/clusters/strict_dns/strict_dns_cluster.cc:177] DNS refresh rate reset for metadata.google.internal, refresh rate 5000 ms
[2024-11-13 11:41:45.275][1][debug][main] [source/server/server.cc:241] flushing stats
the behavior is the next : we send a sync request that takes more than 10 min, in application log we see that the response is returned, but the downstream do not receive the response. when sync request take less than 10 min, downstream receive a 200 response with response body. When we bypass envoy and send request a sync request that takes more than 10 min directly to service url, response is received ( envoy issue ).
I have run couple of additional tests, therefore it seems that we face an around 10 min timeout.
our target is to allow our users to be able to run max 1h sync request.
for your attention : @tyxia @KBaichoo
Title: Response is not received by the client
Description:
Hello,
We are experiencing an issue with Envoy Proxy, which is likely related to the default configuration.
The problem is that clients do not receive a response until Envoy reaches the request timeout, which is currently set to 1 hour. The request itself takes approximately 15 minutes to process (as seen in our service logs where the request is completed and results are returned), so duration doesn’t seem to be the issue. I also tested the same request by bypassing Envoy Proxy, and the response body was received correctly.
It may be worth mentioning that the response byte size is 3,479,806. When we run smaller requests, we are able to receive the response through Envoy Proxy without issues.
can you please point me the config I need to change, I didn't find something like response body size limit in your doc ?
salah