Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions proxy/http/HttpConfig.cc
Original file line number Diff line number Diff line change
Expand Up @@ -1399,7 +1399,7 @@ HttpConfig::startup()

HttpEstablishStaticConfigStringAlloc(c.oride.ssl_client_sni_policy, "proxy.config.ssl.client.sni_policy");

OutboundConnTrack::config_init(&c.outbound_conntrack, &c.oride.outbound_conntrack);
OutboundConnTrack::config_init(&c.global_outbound_conntrack, &c.oride.outbound_conntrack);

MUTEX_TRY_LOCK(lock, http_config_cont->mutex, this_ethread());
if (!lock.is_locked()) {
Expand Down Expand Up @@ -1445,10 +1445,10 @@ HttpConfig::reconfigure()
params->server_max_connections = m_master.server_max_connections;
params->max_websocket_connections = m_master.max_websocket_connections;
params->oride.outbound_conntrack = m_master.oride.outbound_conntrack;
params->outbound_conntrack = m_master.outbound_conntrack;
params->global_outbound_conntrack = m_master.global_outbound_conntrack;

// If queuing for outbound connection tracking is enabled without enabling max connections, it is meaningless, so we'll warn
if (params->outbound_conntrack.queue_size > 0 &&
if (params->global_outbound_conntrack.queue_size > 0 &&
!(params->oride.outbound_conntrack.max > 0 || params->oride.outbound_conntrack.min > 0)) {
Warning("'%s' is set, but neither '%s' nor '%s' are "
"set, please correct your %s",
Expand Down
2 changes: 1 addition & 1 deletion proxy/http/HttpConfig.h
Original file line number Diff line number Diff line change
Expand Up @@ -832,7 +832,7 @@ struct HttpConfigParams : public ConfigInfo {

MgmtByte server_session_sharing_pool = TS_SERVER_SESSION_SHARING_POOL_THREAD;

OutboundConnTrack::GlobalConfig outbound_conntrack;
OutboundConnTrack::GlobalConfig global_outbound_conntrack;

// bitset to hold the status codes that will BE cached with negative caching enabled
HttpStatusBitset negative_caching_list;
Expand Down
14 changes: 7 additions & 7 deletions proxy/http/HttpSM.cc
Original file line number Diff line number Diff line change
Expand Up @@ -5258,18 +5258,18 @@ HttpSM::do_http_server_open(bool raw)
ink_assert(pending_action.is_empty()); // in case of reschedule must not have already pending.

// If the queue is disabled, reschedule.
if (t_state.http_config_param->outbound_conntrack.queue_size < 0) {
if (t_state.http_config_param->global_outbound_conntrack.queue_size < 0) {
ct_state.enqueue();
ct_state.rescheduled();
pending_action =
eventProcessor.schedule_in(this, HRTIME_MSECONDS(t_state.http_config_param->outbound_conntrack.queue_delay.count()));
} else if (t_state.http_config_param->outbound_conntrack.queue_size > 0) { // queue enabled, check for a slot
pending_action = eventProcessor.schedule_in(
this, HRTIME_MSECONDS(t_state.http_config_param->global_outbound_conntrack.queue_delay.count()));
} else if (t_state.http_config_param->global_outbound_conntrack.queue_size > 0) { // queue enabled, check for a slot
auto wcount = ct_state.enqueue();
if (wcount < t_state.http_config_param->outbound_conntrack.queue_size) {
if (wcount < t_state.http_config_param->global_outbound_conntrack.queue_size) {
ct_state.rescheduled();
SMDebug("http", "%s", lbw().print("[{}] queued for {}\0", sm_id, t_state.current.server->dst_addr).data());
pending_action =
eventProcessor.schedule_in(this, HRTIME_MSECONDS(t_state.http_config_param->outbound_conntrack.queue_delay.count()));
pending_action = eventProcessor.schedule_in(
this, HRTIME_MSECONDS(t_state.http_config_param->global_outbound_conntrack.queue_delay.count()));
} else { // the queue is full
ct_state.dequeue(); // release the queue slot
ct_state.blocked(); // note the blockage.
Expand Down