mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2024-12-16 16:34:42 +00:00
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. Thank you to Patrick Hemmer for having reported this issue. Must be backported to 1.8, 1.7 and 1.6.
This commit is contained in:
parent
e215bba956
commit
83ed5d58d2
@ -6459,9 +6459,6 @@ static void hlua_applet_tcp_fct(struct appctx *ctx)
|
||||
case HLUA_E_OK:
|
||||
ctx->ctx.hlua_apptcp.flags |= APPLET_DONE;
|
||||
|
||||
/* log time */
|
||||
strm->logs.tv_request = now;
|
||||
|
||||
/* eat the whole request */
|
||||
co_skip(si_oc(si), co_data(si_oc(si)));
|
||||
res->flags |= CF_READ_NULL;
|
||||
@ -6790,9 +6787,8 @@ static void hlua_applet_http_fct(struct appctx *ctx)
|
||||
|
||||
/* close the connection. */
|
||||
|
||||
/* status / log */
|
||||
/* status */
|
||||
strm->txn->status = ctx->ctx.hlua_apphttp.status;
|
||||
strm->logs.tv_request = now;
|
||||
|
||||
/* eat the whole request */
|
||||
co_skip(si_oc(si), co_data(si_oc(si)));
|
||||
|
Loading…
Reference in New Issue
Block a user