Merge "Decrease Swift proxy timeouts for GET/HEAD requests"

This commit is contained in:
Zuul 2021-04-09 05:20:28 +00:00 committed by Gerrit Code Review
commit 3d739c138c
2 changed files with 16 additions and 0 deletions

View File

@ -51,6 +51,10 @@ parameters:
default: 60 default: 60
description: Timeout for requests going from swift-proxy to swift a/c/o services. description: Timeout for requests going from swift-proxy to swift a/c/o services.
type: number type: number
SwiftProxyRecoverableNodeTimeout:
default: 30
description: Timeout for GET/HEAD requests going from swift-proxy to swift a/c/o services.
type: number
SwiftWorkers: SwiftWorkers:
default: 0 default: 0
description: Number of workers for Swift service. description: Number of workers for Swift service.
@ -166,6 +170,7 @@ outputs:
swift::proxy::authtoken::interface: 'internal' swift::proxy::authtoken::interface: 'internal'
swift::proxy::s3token::auth_uri: {get_param: [EndpointMap, KeystoneV3Internal, uri]} swift::proxy::s3token::auth_uri: {get_param: [EndpointMap, KeystoneV3Internal, uri]}
swift::proxy::node_timeout: {get_param: SwiftProxyNodeTimeout} swift::proxy::node_timeout: {get_param: SwiftProxyNodeTimeout}
swift::proxy::recoverable_node_timeout: {get_param: SwiftProxyRecoverableNodeTimeout}
- -
if: if:
- swift_workers_zero - swift_workers_zero

View File

@ -0,0 +1,11 @@
---
fixes:
- |
Decrease Swift proxy timeouts for GET/HEAD requests using a new parameter
named SwiftProxyRecoverableNodeTimeout. The default node timeout is 10
seconds in Swift, however this has been set to 60 seconds in TripleO in
case there are slow nodes. However, this affects all requests - GET, HEAD
and PUT. GET/HEAD requests are typically much faster, thus it makes sense
to use a lower timeout to recover earlier from node failures. This will
increase stability, because the proxy can select another backend node to
retry the request.