Hi William,

Something seems to have been broken by below patch series. (when using threads.?.)

***  h1    0.0 debug|[ALERT] 309/191142 (6588) : Current worker #1 (6589) exited with code 134 (Abort trap) ***  h1    0.0 debug|[ALERT] 309/191142 (6588) : exit-on-failure: killing every workers with SIGTERM

Yes i'm using -W in the varnishtest, and yes that adds a 1 second delay or something, but that never prevented this test from succeeding for me before..

Can you take a look?

Regards,
PiBa-NL (Pieter)

Op 6-11-2018 om 18:33 schreef Willy Tarreau:
On Tue, Nov 06, 2018 at 05:37:09PM +0100, William Lallemand wrote:
Some improvements for the master-worker.
Thanks, whole series merged. I've replaced the warning with a qfprintf()
as we discussed so that it's less scary at boot :-)  I think we'd benefit
from having ha_notice(), ha_info() and ha_debug() in complement to the
existing ha_alert() and ha_warning(). This would greatly help display
runtime info. And then you could replace your reload warning with a more
suitable notice.

Willy


# Checks that request and connection counters are properly kept

varnishtest "Connection counters check"
feature ignore_unknown_macro

server s1 {
    rxreq
    expect req.http.TESTsize == 10
    txresp
} -repeat 4 -start

haproxy h1 -W -conf {
  global
    nbthread 3
    stats socket /tmp/haproxy.socket level admin

  defaults
    mode http
    log global
    option httplog
    timeout connect         3s
    timeout client          40s
    timeout server          40s

  frontend fe1
    maxconn 200
    bind "fd@${fe_1}"
    acl donelooping hdr(TEST) -m len 10
    http-request set-header TEST "%[hdr(TEST)]x"
    use_backend b2 if donelooping
    default_backend b1

  backend b1
    server srv1 ${h1_fe_1_addr}:${h1_fe_1_port}

  backend b2
    fullconn 200
    # haproxy 1.8 does not have the ,length converter.
    #acl OK hdr(TEST) -m len 500
    #http-request deny deny_status 200 if OK
    #http-request deny deny_status 400

    # haproxy 1.9 does have a ,length converter.
    http-request set-header TESTsize "%[hdr(TEST),length]"
    http-request del-header TEST
    server srv2 ${s1_addr}:${s1_port}

} -start

barrier b1 cond 4

client c1 -connect ${h1_fe_1_sock} {

  timeout 17
        barrier b1 sync
    txreq -url "/1"
    rxresp
    expect resp.status == 200
} -start
client c2 -connect ${h1_fe_1_sock} {
  timeout 17
        barrier b1 sync
    txreq -url "/2"
    rxresp
    expect resp.status == 200
} -start
client c3 -connect ${h1_fe_1_sock} {
  timeout 17
        barrier b1 sync
    txreq -url "/3"
    rxresp
    expect resp.status == 200
} -start
client c4 -connect ${h1_fe_1_sock} {
  timeout 17
        barrier b1 sync
    txreq -url "/4"
    rxresp
    expect resp.status == 200
} -start

client c1 -wait
client c2 -wait
client c3 -wait
client c4 -wait

# allow a little time to close connections.
delay 1

haproxy h1 -cli {
    send "show info"
    expect ~ "CurrConns: 0 *\\nCumConns: 41*\\nCumReq: 81"
    #send "show activity"
    #expect ~ "hoi"
}

Reply via email to