Le lundi 20 juin 2011 23:27:21, Willy Tarreau a écrit :
> Timeouts are clearly the type of setting that should lie in a defaults
> section, that's the best way not to forget any of them and to have them
> coherent.

I totally agree, I only discovered their configuration too late and nothing 
told them those timeouts will be ignored at startup.

Are you pro or against something that checks this in check_config_validity() ?

Something like this (extracted from a test case) :
[WARNING] 170/232714 (6998) : Backend 'BE_SHOULD_WARN': http-pretend-keepalive 
timeout will be ignored for frontend 'FE_HTTP_1', which is already in HTTP 
mode.
[WARNING] 170/232714 (6998) : Backend 'BE_SHOULD_WARN': http-request timeout 
will be ignored for frontend 'FE_HTTP_1', which is already in HTTP mode.
[WARNING] 170/232714 (6998) : Backend 'BE_SHOULD_WARN': http-pretend-keepalive 
timeout will be ignored for frontend 'FE_HTTP_1', which is already in HTTP 
mode.
[WARNING] 170/232714 (6998) : Backend 'BE_SHOULD_WARN': http-request timeout 
will be ignored for frontend 'FE_HTTP_1', which is already in HTTP mode.
[WARNING] 170/232714 (6998) : Backend 'BE_SHOULD_WARN': http-pretend-keepalive 
timeout will be ignored for frontend 'FE_HTTP_2', which is already in HTTP 
mode.
[WARNING] 170/232714 (6998) : Backend 'BE_SHOULD_WARN': http-request timeout 
will be ignored for frontend 'FE_HTTP_2', which is already in HTTP mode.

The configuration used for the test :
defaults
        timeout connect 10s
        timeout client  11s
        timeout server  12s
        timeout http-keep-alive 1s
        timeout http-request 2s

frontend FE_HTTP_1 :9001
        mode http
        use_backend BE_SHOULD_WARN if TRUE
        use_backend BE_SHOULD_NOT_WARN if TRUE
        default_backend BE_SHOULD_WARN

frontend FE_HTTP_2 :9002
        mode http
        use_backend BE_SHOULD_WARN if TRUE
        use_backend BE_SHOULD_NOT_WARN if TRUE
        default_backend BE_SHOULD_NOT_WARN

frontend FE_TCP_1 :9003
        mode tcp
        use_backend BE_SHOULD_NOT_WARN  if TRUE
        use_backend BE_SHOULD_NOT_WARN_2 if TRUE
        default_backend BE_SHOULD_NOT_WARN

frontend FE_TCP_2 :9004
        mode tcp
        use_backend BE_SHOULD_NOT_WARN   if TRUE
        use_backend BE_SHOULD_NOT_WARN_2 if TRUE
        default_backend BE_SHOULD_NOT_WARN_2

backend BE_SHOULD_WARN
        mode http
        option http-server-close
        timeout http-keep-alive 3s
        timeout http-request 3s

backend BE_SHOULD_NOT_WARN
        mode http
        option http-server-close
        timeout http-keep-alive 1s
        timeout http-request 2s

backend BE_SHOULD_NOT_WARN_2
        mode http
        option http-server-close
        timeout http-keep-alive 3s
        timeout http-request 3s

-- 
Cyril Bonté

Reply via email to