You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by ic...@apache.org on 2017/03/06 15:45:05 UTC
svn commit: r1785672 - in /httpd/httpd/trunk: CHANGES
modules/http2/mod_proxy_http2.c
Author: icing
Date: Mon Mar 6 15:45:05 2017
New Revision: 1785672
URL: http://svn.apache.org/viewvc?rev=1785672&view=rev
Log:
On the trunk:
mod_proxy_http2: fixed retry behaviour when frontend connection uses
http/1.1.
Modified:
httpd/httpd/trunk/CHANGES
httpd/httpd/trunk/modules/http2/mod_proxy_http2.c
Modified: httpd/httpd/trunk/CHANGES
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/CHANGES?rev=1785672&r1=1785671&r2=1785672&view=diff
==============================================================================
--- httpd/httpd/trunk/CHANGES [utf-8] (original)
+++ httpd/httpd/trunk/CHANGES [utf-8] Mon Mar 6 15:45:05 2017
@@ -1,6 +1,9 @@
-*- coding: utf-8 -*-
Changes with Apache 2.5.0
+ *) mod_proxy_http2: fixed retry behaviour when frontend connection uses
+ http/1.1. [Stefan Eissing]
+
*) mod_http2: separate mutex instances for each bucket beam, resulting in
less lock contention. input beams only created when necessary.
[Stefan Eissing]
Modified: httpd/httpd/trunk/modules/http2/mod_proxy_http2.c
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/http2/mod_proxy_http2.c?rev=1785672&r1=1785671&r2=1785672&view=diff
==============================================================================
--- httpd/httpd/trunk/modules/http2/mod_proxy_http2.c (original)
+++ httpd/httpd/trunk/modules/http2/mod_proxy_http2.c Mon Mar 6 15:45:05 2017
@@ -276,6 +276,9 @@ static void request_done(h2_proxy_sessio
h2_proxy_ctx *ctx = session->user_data;
const char *task_id = apr_table_get(r->connection->notes, H2_TASK_ID_NOTE);
+ ap_log_cerror(APLOG_MARK, APLOG_TRACE1, status, r->connection,
+ "h2_proxy_session(%s): request done %s, touched=%d",
+ ctx->engine_id, task_id, touched);
if (status != APR_SUCCESS) {
if (!touched) {
/* untouched request, need rescheduling */
@@ -289,6 +292,12 @@ static void request_done(h2_proxy_sessio
return;
}
}
+ else if (!ctx->next) {
+ ap_log_cerror(APLOG_MARK, APLOG_TRACE1, status, r->connection,
+ "h2_proxy_session(%s): retry untouched request",
+ ctx->engine_id);
+ ctx->next = r;
+ }
}
else {
const char *uri;
@@ -606,7 +615,7 @@ run_session:
}
cleanup:
- if (!reconnected && ctx->engine && next_request(ctx, 1) == APR_SUCCESS) {
+ if (!reconnected && next_request(ctx, 1) == APR_SUCCESS) {
/* Still more to do, tear down old conn and start over */
if (ctx->p_conn) {
ctx->p_conn->close = 1;