mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2024-12-28 15:42:30 +00:00
b894f9230c
Some reg tests and their dependencies have been renamed. They may be referenced by the .vtc files. So, this patch modifies also the references to these dependencies.
85 lines
2.2 KiB
Plaintext
85 lines
2.2 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 fixe 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 notice
|
|
expect ~ "[^:\\[ ]*\\[[0-9]*\\]: Proxy f1 started"
|
|
|
|
recv notice
|
|
expect ~ "[^:\\[ ]\\[[0-9]*\\]: Proxy f2 started"
|
|
|
|
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
|