From 48a0128c1aa19b627bc3db178a85cc36e08d9b16 Mon Sep 17 00:00:00 2001 From: Nowy Condro Date: Thu, 6 Aug 2026 10:11:26 +0200 Subject: [PATCH] EAI-7650: Set explicit request timeout on SeaweedFS S3 route The seaweed HTTPRoute declared no timeouts, so Envoy applied its 15s default request timeout to the S3 data path. Transfers longer than 15s were reset mid-stream, truncating objects regardless of their size. Co-authored-by: Cursor --- .../seaweedfs-config/templates/seaweedfs-httproute.yaml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/sources/seaweedfs-config/templates/seaweedfs-httproute.yaml b/sources/seaweedfs-config/templates/seaweedfs-httproute.yaml index 536469e2..5875f6d2 100644 --- a/sources/seaweedfs-config/templates/seaweedfs-httproute.yaml +++ b/sources/seaweedfs-config/templates/seaweedfs-httproute.yaml @@ -15,4 +15,10 @@ spec: - headers: - type: RegularExpression name: Host - value: "seaweed\\..*" \ No newline at end of file + value: "seaweed\\..*" + # Object transfers routinely outlast Envoy's 15s default request timeout, which resets the + # stream mid-transfer and truncates the object. The limit is duration, not size, so on a slow + # client link even a small object fails. + timeouts: + request: 30m + backendRequest: 30m \ No newline at end of file