haproxy/reg-tests/lua/bad_http_clt_req_duration.vtc
Willy Tarreau 43ba3cf2b5 MEDIUM: proxy: remove start_proxies()
Its sole remaining purpose was to display "proxy foo started", which
has little benefit and pollutes output for those with plenty of proxies.
Let's remove it now.

The VTCs were updated to reflect this, because many of them had explicit
counts of dropped lines to match this message.

This is tagged as MEDIUM because some users may be surprized by the
loss of this quite old message.
2020-10-09 11:27:30 +02:00

79 lines
2.1 KiB
Plaintext

# commit 7b6cc52784526c32efda44b873a4258d3ae0b8c7
# BUG/MINOR: lua: Bad HTTP client request duration.
#
# HTTP LUA applet callback should not update the date on which the HTTP client requests
# arrive. This was done just after the LUA applet has completed its job.
#
# This patch simply removes the affected statement. The same fix has been applied
# to TCP LUA applet callback.
#
# To reproduce this issue, as reported by Patrick Hemmer, implement an HTTP LUA applet
# which sleeps a bit before replying:
#
# core.register_service("foo", "http", function(applet)
# core.msleep(100)
# applet:set_status(200)
# applet:start_response()
# end)
#
# This had as a consequence to log %TR field with approximatively the same value as
# the LUA sleep time.
varnishtest "LUA bug"
#REQUIRE_OPTIONS=LUA
#REGTEST_TYPE=bug
feature ignore_unknown_macro
syslog Slog {
recv info
expect ~ "[^:\\[ ]\\[[0-9]*\\]: Ta=[0-9]* Tc=[0-9]* Td=[0-9]* Th=[0-9]* Ti=[0-9]* Tq=[0-9]* TR=[0-9]* Tr=[0-9]* Tt=[0-9]* Tw=[0-9]*$"
recv info
expect ~ "[^:\\[ ]\\[[0-9]*\\]: Tc=[0-9]* Td=[0-9]* Th=[0-9]* Tt=[0-9]* Tw=[0-9]*$"
} -start
haproxy h1 -conf {
global
lua-load ${testdir}/bad_http_clt_req_duration.lua
defaults
timeout client 1s
timeout server 1s
timeout connect 1s
frontend f1
mode http
${no-htx} option http-use-htx
bind "fd@${f1}"
log ${Slog_addr}:${Slog_port} daemon
log-format Ta=%Ta\ Tc=%Tc\ Td=%Td\ Th=%Th\ Ti=%Ti\ Tq=%Tq\ TR=%TR\ Tr=%Tr\ Tt=%Tt\ Tw=%Tw
default_backend b1
backend b1
mode http
${no-htx} option http-use-htx
http-request use-service lua.foo.http
frontend f2
mode tcp
bind "fd@${f2}"
log ${Slog_addr}:${Slog_port} daemon
log-format Tc=%Tc\ Td=%Td\ Th=%Th\ Tt=%Tt\ Tw=%Tw
tcp-request inspect-delay 1s
tcp-request content use-service lua.foo.tcp
} -start
client c1 -connect "${h1_f1_sock}" {
txreq
rxresp
} -run
client c2 -connect "${h1_f2_sock}" {
txreq
rxresp
} -run
syslog Slog -wait