-
Notifications
You must be signed in to change notification settings - Fork 41
Description
Every backend has a "first-byte timeout". This timeout applies to the HTTP response line and response headers. If the client (Compute instance) does not receive all the HTTP headers within the first-byte timeout, the Compute platform considers the request failed and returns a SendError (with e.g. SendErrorCause::HttpResponseTimeout) to the instance.
By default, all backends have a first-byte timeout of 15 seconds. This timeout is configurable for static and dynamic backends; however, it was previously not configurable for shield backends. If a shield POP took more than 15 seconds to complete writing its response headers, the Compute instance at the edge POP would receive a SendError.
The most recent ABI definitions include a first_byte_timeout option when creating a shield backend, allowing the default 15s to be overridden. This is not yet exposed in Go, but see Rust SDK 0.11.9 for an example.