https://bz.apache.org/bugzilla/show_bug.cgi?id=61488

            Bug ID: 61488
           Summary: mod_proxy_http treats POST response timeout as a 100
                    reply timeout
           Product: Apache httpd-2
           Version: 2.4.27
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: mod_proxy_http
          Assignee: [email protected]
          Reporter: [email protected]
  Target Milestone: ---

Created attachment 35288
  --> https://bz.apache.org/bugzilla/attachment.cgi?id=35288&action=edit
mod_proxy_http patch

For a POST request proxied through mod_proxy_http, it looks like a response
timeout is always handled by this block even after 100-continue has been
received:

            ap_log_rerror(APLOG_MARK, APLOG_ERR, rc, r, APLOGNO(01102)
                          "error reading status line from remote "
                          "server %s:%d", backend->hostname, backend->port);
            if (APR_STATUS_IS_TIMEUP(rc)) {
                apr_table_setn(r->notes, "proxy_timedout", "1");
                ap_log_rerror(APLOG_MARK, APLOG_DEBUG, 0, r, APLOGNO(01103)
"read timeout");
                if (do_100_continue) {
                    return ap_proxyerror(r, HTTP_SERVICE_UNAVAILABLE, "Timeout
on 100-Continue");
                }
            }


For instance, logging shows a 100 response is received, but a "Timeout on
100-continue" is still indicated:

[Fri Sep 01 15:59:25.264579 2017] [proxy_http:trace2] [pid 13455:tid
140308050339584] mod_proxy_http.c(1536): [client 127.0.0.1:55835] HTTP:
received interim 100 response
[Fri Sep 01 15:59:25.264583 2017] [dumpio:trace7] [pid 13455:tid
140308050339584] mod_dumpio.c(140): [remote 127.0.0.1:8080] mod_dumpio:
dumpio_in [getline-blocking] 0 readbytes
[Fri Sep 01 15:59:26.265697 2017] [dumpio:trace7] [pid 13455:tid
140308050339584] mod_dumpio.c(151): [remote 127.0.0.1:8080] mod_dumpio:
dumpio_in - 70007
[Fri Sep 01 15:59:26.265753 2017] [proxy_http:error] [pid 13455:tid
140308050339584] (70007)The timeout specified has expired: [client
127.0.0.1:55835] AH01102: error reading status line from remote server
127.0.0.1:8080
[Fri Sep 01 15:59:26.265769 2017] [proxy_http:debug] [pid 13455:tid
140308050339584] mod_proxy_http.c(1264): [client 127.0.0.1:55835] AH01103: read
timeout
[Fri Sep 01 15:59:26.265785 2017] [proxy:error] [pid 13455:tid 140308050339584]
[client 127.0.0.1:55835] AH00898: Timeout on 100-Continue returned by /app/page


This can result in unwanted worker error states.  Attached is a patch that
addressed this on my end.

-- 
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to