You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by zw...@apache.org on 2011/08/03 18:59:38 UTC
svn commit: r1153581 - in /trafficserver/traffic/trunk/proxy: InkAPI.cc
InkAPITest.cc api/ts/ts.h.in http/HttpClientSession.cc http/HttpConfig.cc
http/HttpConfig.h http/HttpSessionManager.cc
Author: zwoop
Date: Wed Aug 3 16:59:37 2011
New Revision: 1153581
URL: http://svn.apache.org/viewvc?rev=1153581&view=rev
Log:
TS-863 I want to be able to set proxy.config.http.keep_alive_no_activity_timeout_out per-transaction.
Author: William Bardwell
Review: Leif
Modified:
trafficserver/traffic/trunk/proxy/InkAPI.cc
trafficserver/traffic/trunk/proxy/InkAPITest.cc
trafficserver/traffic/trunk/proxy/api/ts/ts.h.in
trafficserver/traffic/trunk/proxy/http/HttpClientSession.cc
trafficserver/traffic/trunk/proxy/http/HttpConfig.cc
trafficserver/traffic/trunk/proxy/http/HttpConfig.h
trafficserver/traffic/trunk/proxy/http/HttpSessionManager.cc
Modified: trafficserver/traffic/trunk/proxy/InkAPI.cc
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/proxy/InkAPI.cc?rev=1153581&r1=1153580&r2=1153581&view=diff
==============================================================================
--- trafficserver/traffic/trunk/proxy/InkAPI.cc (original)
+++ trafficserver/traffic/trunk/proxy/InkAPI.cc Wed Aug 3 16:59:37 2011
@@ -7342,6 +7342,9 @@ _conf_to_memberp(TSOverridableConfigKey
case TS_CONFIG_HTTP_KEEP_ALIVE_NO_ACTIVITY_TIMEOUT_IN:
ret = &sm->t_state.txn_conf->keep_alive_no_activity_timeout_in;
break;
+ case TS_CONFIG_HTTP_KEEP_ALIVE_NO_ACTIVITY_TIMEOUT_OUT:
+ ret = &sm->t_state.txn_conf->keep_alive_no_activity_timeout_out;
+ break;
case TS_CONFIG_HTTP_TRANSACTION_NO_ACTIVITY_TIMEOUT_IN:
ret = &sm->t_state.txn_conf->transaction_no_activity_timeout_in;
break;
@@ -7812,6 +7815,10 @@ TSHttpTxnConfigFind(const char* name, in
if (!strncmp(name, "proxy.config.http.transaction_no_activity_timeout_in", length))
cnf = TS_CONFIG_HTTP_TRANSACTION_NO_ACTIVITY_TIMEOUT_IN;
break;
+ case 't':
+ if (!strncmp(name, "proxy.config.http.keep_alive_no_activity_timeout_out", length))
+ cnf = TS_CONFIG_HTTP_KEEP_ALIVE_NO_ACTIVITY_TIMEOUT_OUT;
+ break;
}
break;
Modified: trafficserver/traffic/trunk/proxy/InkAPITest.cc
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/proxy/InkAPITest.cc?rev=1153581&r1=1153580&r2=1153581&view=diff
==============================================================================
--- trafficserver/traffic/trunk/proxy/InkAPITest.cc (original)
+++ trafficserver/traffic/trunk/proxy/InkAPITest.cc Wed Aug 3 16:59:37 2011
@@ -7537,6 +7537,7 @@ const char *SDK_Overridable_Configs[] =
"proxy.config.http.cache.guaranteed_max_lifetime",
"proxy.config.http.cache.max_stale_age",
"proxy.config.http.keep_alive_no_activity_timeout_in",
+ "proxy.config.http.keep_alive_no_activity_timeout_out",
"proxy.config.http.transaction_no_activity_timeout_in",
"proxy.config.http.transaction_no_activity_timeout_out",
"proxy.config.http.transaction_active_timeout_out",
Modified: trafficserver/traffic/trunk/proxy/api/ts/ts.h.in
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/proxy/api/ts/ts.h.in?rev=1153581&r1=1153580&r2=1153581&view=diff
==============================================================================
--- trafficserver/traffic/trunk/proxy/api/ts/ts.h.in (original)
+++ trafficserver/traffic/trunk/proxy/api/ts/ts.h.in Wed Aug 3 16:59:37 2011
@@ -524,6 +524,7 @@ extern "C"
TS_CONFIG_HTTP_CACHE_GUARANTEED_MAX_LIFETIME,
TS_CONFIG_HTTP_CACHE_MAX_STALE_AGE,
TS_CONFIG_HTTP_KEEP_ALIVE_NO_ACTIVITY_TIMEOUT_IN,
+ TS_CONFIG_HTTP_KEEP_ALIVE_NO_ACTIVITY_TIMEOUT_OUT,
TS_CONFIG_HTTP_TRANSACTION_NO_ACTIVITY_TIMEOUT_IN,
TS_CONFIG_HTTP_TRANSACTION_NO_ACTIVITY_TIMEOUT_OUT,
TS_CONFIG_HTTP_TRANSACTION_ACTIVE_TIMEOUT_OUT,
Modified: trafficserver/traffic/trunk/proxy/http/HttpClientSession.cc
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/proxy/http/HttpClientSession.cc?rev=1153581&r1=1153580&r2=1153581&view=diff
==============================================================================
--- trafficserver/traffic/trunk/proxy/http/HttpClientSession.cc (original)
+++ trafficserver/traffic/trunk/proxy/http/HttpClientSession.cc Wed Aug 3 16:59:37 2011
@@ -304,7 +304,7 @@ HttpClientSession::do_io_close(int alerr
// Set the active timeout to the same as the inactive time so
// that this connection does not hang around forever if
// the ua hasn't closed
- client_vc->set_active_timeout(HRTIME_SECONDS(HttpConfig::m_master.keep_alive_no_activity_timeout_out));
+ client_vc->set_active_timeout(HRTIME_SECONDS(current_reader->t_state.txn_conf->keep_alive_no_activity_timeout_out));
} else {
read_state = HCS_CLOSED;
client_vc->do_io_close(alerrno);
@@ -553,9 +553,9 @@ HttpClientSession::attach_server_session
if (transaction_done) {
ssession->get_netvc()->
- set_inactivity_timeout(HRTIME_SECONDS(HttpConfig::m_master.keep_alive_no_activity_timeout_out));
+ set_inactivity_timeout(HRTIME_SECONDS(current_reader->t_state.txn_conf->keep_alive_no_activity_timeout_out));
ssession->get_netvc()->
- set_active_timeout(HRTIME_SECONDS(HttpConfig::m_master.keep_alive_no_activity_timeout_out));
+ set_active_timeout(HRTIME_SECONDS(current_reader->t_state.txn_conf->keep_alive_no_activity_timeout_out));
} else {
// we are serving from the cache - this could take a while.
ssession->get_netvc()->cancel_inactivity_timeout();
Modified: trafficserver/traffic/trunk/proxy/http/HttpConfig.cc
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/proxy/http/HttpConfig.cc?rev=1153581&r1=1153580&r2=1153581&view=diff
==============================================================================
--- trafficserver/traffic/trunk/proxy/http/HttpConfig.cc (original)
+++ trafficserver/traffic/trunk/proxy/http/HttpConfig.cc Wed Aug 3 16:59:37 2011
@@ -1190,7 +1190,7 @@ HttpConfig::startup()
HttpEstablishStaticConfigLongLong(c.oride.keep_alive_no_activity_timeout_in,
"proxy.config.http.keep_alive_no_activity_timeout_in");
- HttpEstablishStaticConfigLongLong(c.keep_alive_no_activity_timeout_out,
+ HttpEstablishStaticConfigLongLong(c.oride.keep_alive_no_activity_timeout_out,
"proxy.config.http.keep_alive_no_activity_timeout_out");
HttpEstablishStaticConfigLongLong(c.oride.transaction_no_activity_timeout_in,
"proxy.config.http.transaction_no_activity_timeout_in");
@@ -1465,7 +1465,7 @@ HttpConfig::reconfigure()
params->oride.keep_alive_post_out = INT_TO_BOOL(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->keep_alive_no_activity_timeout_out = m_master.keep_alive_no_activity_timeout_out;
+ params->oride.keep_alive_no_activity_timeout_out = m_master.oride.keep_alive_no_activity_timeout_out;
params->oride.transaction_no_activity_timeout_in = m_master.oride.transaction_no_activity_timeout_in;
params->oride.transaction_no_activity_timeout_out = m_master.oride.transaction_no_activity_timeout_out;
params->transaction_active_timeout_in = m_master.transaction_active_timeout_in;
Modified: trafficserver/traffic/trunk/proxy/http/HttpConfig.h
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/proxy/http/HttpConfig.h?rev=1153581&r1=1153580&r2=1153581&view=diff
==============================================================================
--- trafficserver/traffic/trunk/proxy/http/HttpConfig.h (original)
+++ trafficserver/traffic/trunk/proxy/http/HttpConfig.h Wed Aug 3 16:59:37 2011
@@ -414,6 +414,7 @@ struct OverridableHttpConfigParams {
cache_heuristic_min_lifetime(0), cache_heuristic_max_lifetime(0),
cache_guaranteed_min_lifetime(0), cache_guaranteed_max_lifetime(0), cache_max_stale_age(0),
keep_alive_no_activity_timeout_in(0),
+ keep_alive_no_activity_timeout_out(0),
transaction_no_activity_timeout_in(0), transaction_no_activity_timeout_out(0),
transaction_active_timeout_out(0),
origin_max_connections(0),
@@ -509,6 +510,7 @@ struct OverridableHttpConfigParams {
// connection variables. timeouts are in seconds //
///////////////////////////////////////////////////
MgmtInt keep_alive_no_activity_timeout_in;
+ MgmtInt keep_alive_no_activity_timeout_out;
MgmtInt transaction_no_activity_timeout_in;
MgmtInt transaction_no_activity_timeout_out;
MgmtInt transaction_active_timeout_out;
@@ -637,7 +639,6 @@ public:
MgmtInt origin_server_pipeline;
MgmtInt user_agent_pipeline;
MgmtInt share_server_sessions;
- MgmtInt keep_alive_no_activity_timeout_out;
MgmtInt transaction_active_timeout_in;
MgmtInt accept_no_activity_timeout;
MgmtInt background_fill_active_timeout;
@@ -924,7 +925,6 @@ HttpConfigParams::HttpConfigParams()
origin_server_pipeline(0),
user_agent_pipeline(0),
share_server_sessions(0),
- keep_alive_no_activity_timeout_out(0),
transaction_active_timeout_in(0),
accept_no_activity_timeout(0),
background_fill_active_timeout(0),
Modified: trafficserver/traffic/trunk/proxy/http/HttpSessionManager.cc
URL: http://svn.apache.org/viewvc/trafficserver/traffic/trunk/proxy/http/HttpSessionManager.cc?rev=1153581&r1=1153580&r2=1153581&view=diff
==============================================================================
--- trafficserver/traffic/trunk/proxy/http/HttpSessionManager.cc (original)
+++ trafficserver/traffic/trunk/proxy/http/HttpSessionManager.cc Wed Aug 3 16:59:37 2011
@@ -99,8 +99,8 @@ SessionBucket::session_handler(int event
Debug("http_ss", "[%" PRId64 "] [session_bucket] session received io notice [%s], "
"reseting timeout to maintain minimum number of connections", s->con_id,
HttpDebugNames::get_event_name(event));
- s->get_netvc()->set_inactivity_timeout(HRTIME_SECONDS(http_config_params->keep_alive_no_activity_timeout_out));
- s->get_netvc()->set_active_timeout(HRTIME_SECONDS(http_config_params->keep_alive_no_activity_timeout_out));
+ s->get_netvc()->set_inactivity_timeout(s->get_netvc()->get_inactivity_timeout());
+ s->get_netvc()->set_active_timeout(s->get_netvc()->get_active_timeout());
found = true;
break;
}
@@ -316,8 +316,8 @@ HttpSessionManager::release_session(Http
to_release->do_io_write(bucket, 0, NULL);
// we probably don't need the active timeout set, but will leave it for now
- to_release->get_netvc()->set_inactivity_timeout(HRTIME_SECONDS(HttpConfig::m_master.keep_alive_no_activity_timeout_out));
- to_release->get_netvc()->set_active_timeout(HRTIME_SECONDS(HttpConfig::m_master.keep_alive_no_activity_timeout_out));
+ to_release->get_netvc()->set_inactivity_timeout(to_release->get_netvc()->get_inactivity_timeout());
+ to_release->get_netvc()->set_active_timeout(to_release->get_netvc()->get_active_timeout());
Debug("http_ss", "[%" PRId64 "] [release session] " "session placed into shared pool", to_release->con_id);
return HSM_DONE;
} else {