You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by bc...@apache.org on 2014/09/26 03:52:39 UTC
git commit: TS-3098: Fix the ability to configure keep-alive on post
to the origin
Repository: trafficserver
Updated Branches:
refs/heads/master c26e015e4 -> aa4a9e86e
TS-3098: Fix the ability to configure keep-alive on post to the origin
Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/aa4a9e86
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/aa4a9e86
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/aa4a9e86
Branch: refs/heads/master
Commit: aa4a9e86e22a99b1c157269a4e8ff9a0dbf75dc3
Parents: c26e015
Author: Bryan Call <bc...@apache.org>
Authored: Thu Sep 25 18:51:33 2014 -0700
Committer: Bryan Call <bc...@apache.org>
Committed: Thu Sep 25 18:51:33 2014 -0700
----------------------------------------------------------------------
CHANGES | 2 ++
proxy/http/HttpConfig.cc | 1 +
proxy/http/HttpSM.cc | 20 ++++++++++----------
3 files changed, 13 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/trafficserver/blob/aa4a9e86/CHANGES
----------------------------------------------------------------------
diff --git a/CHANGES b/CHANGES
index 27efe80..4719eec 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,6 +1,8 @@
-*- coding: utf-8 -*-
Changes with Apache Traffic Server 5.2.0
+ *) [TS-3098] Fix the ability to configure keep-alive on post to the origin
+
*) [TS-3085] Large POSTs over (relatively) slower connections failing
*) [TS-3092] Set SSL CTX timeout regardless of Session Cache
http://git-wip-us.apache.org/repos/asf/trafficserver/blob/aa4a9e86/proxy/http/HttpConfig.cc
----------------------------------------------------------------------
diff --git a/proxy/http/HttpConfig.cc b/proxy/http/HttpConfig.cc
index 2bd57c8..db66e83 100644
--- a/proxy/http/HttpConfig.cc
+++ b/proxy/http/HttpConfig.cc
@@ -1562,6 +1562,7 @@ HttpConfig::reconfigure()
// params->oride.share_server_sessions = m_master.oride.share_server_sessions;
params->oride.server_session_sharing_pool = m_master.oride.server_session_sharing_pool;
params->oride.server_session_sharing_match = m_master.oride.server_session_sharing_match;
+ params->oride.keep_alive_post_out = m_master.oride.keep_alive_post_out;
params->oride.keep_alive_no_activity_timeout_in = m_master.oride.keep_alive_no_activity_timeout_in;
params->oride.keep_alive_no_activity_timeout_out = m_master.oride.keep_alive_no_activity_timeout_out;
http://git-wip-us.apache.org/repos/asf/trafficserver/blob/aa4a9e86/proxy/http/HttpSM.cc
----------------------------------------------------------------------
diff --git a/proxy/http/HttpSM.cc b/proxy/http/HttpSM.cc
index 5b3f5f1..fa1a2a4 100644
--- a/proxy/http/HttpSM.cc
+++ b/proxy/http/HttpSM.cc
@@ -3366,13 +3366,6 @@ HttpSM::tunnel_handler_post_ua(int event, HttpTunnelProducer * p)
ua_entry->write_buffer = NULL;
}
- // Completed successfully
- if (t_state.txn_conf->keep_alive_post_out == 0) {
- // don't share the session if keep-alive for post is not on
- DebugSM("http_ss", "Setting server session to private because of keep-alive post out");
- set_server_session_private(true);
- }
-
p->handler_state = HTTP_SM_POST_SUCCESS;
p->read_success = true;
ua_entry->in_tunnel = false;
@@ -5623,6 +5616,13 @@ HttpSM::attach_server_session(HttpServerSession * s)
if (t_state.method == HTTP_WKSIDX_POST || t_state.method == HTTP_WKSIDX_PUT) {
connect_timeout = t_state.txn_conf->post_connect_attempts_timeout;
+
+ // don't share the session if keep-alive for post is not on
+ if (t_state.txn_conf->keep_alive_post_out == 0) {
+ DebugSM("http_ss", "Setting server session to private because of keep-alive post out");
+ set_server_session_private(true);
+ }
+
} else if (t_state.current.server == &t_state.parent_info) {
connect_timeout = t_state.http_config_param->parent_connect_timeout;
} else {
@@ -5645,7 +5645,7 @@ HttpSM::attach_server_session(HttpServerSession * s)
if (plugin_tunnel_type != HTTP_NO_PLUGIN_TUNNEL) {
DebugSM("http_ss", "Setting server session to private");
- server_session->private_session = true;
+ set_server_session_private(true);
}
}
@@ -5691,8 +5691,8 @@ HttpSM::setup_server_send_request()
// If we are sending authorizations headers, mark the connection private
if (t_state.txn_conf->auth_server_session_private == 1 &&
t_state.hdr_info.server_request.presence(MIME_PRESENCE_AUTHORIZATION | MIME_PRESENCE_PROXY_AUTHORIZATION | MIME_PRESENCE_WWW_AUTHENTICATE)) {
- server_session->private_session = true;
- DebugSM("http_ss", "Setting server session to private for authorization header");
+ DebugSM("http_ss", "Setting server session to private for authorization header");
+ set_server_session_private(true);
}
milestones.server_begin_write = ink_get_hrtime();
server_entry->write_vio = server_entry->vc->do_io_write(this, hdr_length, buf_start);