From 77fcb2db6353e4733ded9a5c8d1022d301436029 Mon Sep 17 00:00:00 2001 From: Robert Butts Date: Mon, 7 Feb 2022 13:39:38 -0700 Subject: [PATCH] Fix plugin parent_select failover --- .../parent_select/parent_select.cc | 138 +++----------- proxy/http/HttpTransact.cc | 28 +-- .../pluginTest/parent_select/peer.trace.gold | 176 +++++++++--------- .../pluginTest/parent_select/peer2.trace.gold | 54 +++--- 4 files changed, 155 insertions(+), 241 deletions(-) diff --git a/plugins/experimental/parent_select/parent_select.cc b/plugins/experimental/parent_select/parent_select.cc index 83391e7c5a4..e3df98393f8 100644 --- a/plugins/experimental/parent_select/parent_select.cc +++ b/plugins/experimental/parent_select/parent_select.cc @@ -47,65 +47,9 @@ struct StrategyTxn { TSNextHopSelectionStrategy *strategy; void *txn; // void* because the actual type will depend on the strategy. int request_count; - const char *prev_host; // the actually tried host, used when send_request sets the response_action to be the next thing to try. - size_t prev_host_len; - in_port_t prev_port; - bool prev_is_retry; - bool prev_no_cache; + TSResponseAction prev_ra; }; -int -handle_send_request(TSHttpTxn txnp, StrategyTxn *strategyTxn) -{ - TSDebug(PLUGIN_NAME, "handle_send_request calling"); - TSDebug(PLUGIN_NAME, "handle_send_request got strategy '%s'", strategyTxn->strategy->name()); - - auto strategy = strategyTxn->strategy; - - // if (strategyTxn->retry_attempts == 0) { - // // just did a DoRemap, which means we need to set the response_action of what to do in the event of failure - // // because a failure might not call read_response (e.g. dns failure) - // strategyTxn->retry_attempts = 1; - // TSHttpTxnReenable(txnp, TS_EVENT_HTTP_CONTINUE); - // return TS_SUCCESS; - // } - - // before sending a req, we need to set what to do on failure. - // Because some failures don't call handle_response before getting to HttpTransact::HandleResponse - // (e.g. connection failures) - - TSResponseAction ra; - TSHttpTxnResponseActionGet(txnp, &ra); - - TSDebug(PLUGIN_NAME, "handle_send_request setting prev %.*s:%d", int(ra.hostname_len), ra.hostname, ra.port); - strategyTxn->prev_host = ra.hostname; - strategyTxn->prev_host_len = ra.hostname_len; - strategyTxn->prev_port = ra.port; - strategyTxn->prev_is_retry = ra.is_retry; - strategyTxn->prev_no_cache = ra.no_cache; - - strategy->next(txnp, strategyTxn->txn, ra.hostname, ra.hostname_len, ra.port, &ra.hostname, &ra.hostname_len, &ra.port, - &ra.is_retry, &ra.no_cache); - - ra.nextHopExists = ra.hostname_len != 0; - ra.fail = !ra.nextHopExists; // failed is whether to fail and return to the client. failed=false means to retry the parent we set - // in the response_action - - // we don't know if it's retryable yet, because we don't have a status. So set it retryable if we have something which could be - // retried. We'll set it retryable per the status in handle_response, and os_dns (which is called on connection failures, and - // always retryable [notwithstanding num_retries]). - ra.responseIsRetryable = ra.nextHopExists; - ra.goDirect = strategy->goDirect(); - ra.parentIsProxy = strategy->parentIsProxy(); - - TSDebug(PLUGIN_NAME, "handle_send_request setting response_action hostname '%.*s' port %d direct %d proxy %d", - int(ra.hostname_len), ra.hostname, ra.port, ra.goDirect, ra.parentIsProxy); - TSHttpTxnResponseActionSet(txnp, &ra); - - TSHttpTxnReenable(txnp, TS_EVENT_HTTP_CONTINUE); - return TS_SUCCESS; -} - // mark parents up or down, on failure or successful retry. void mark_response(TSHttpTxn txnp, StrategyTxn *strategyTxn, TSHttpStatus status) @@ -118,17 +62,14 @@ mark_response(TSHttpTxn txnp, StrategyTxn *strategyTxn, TSHttpStatus status) TSResponseAction ra; // if the prev_host isn't null, then that was the actual host we tried which needs to be marked down. - if (strategyTxn->prev_host != nullptr) { - ra.hostname = strategyTxn->prev_host; - ra.hostname_len = strategyTxn->prev_host_len; - ra.port = strategyTxn->prev_port; - ra.is_retry = strategyTxn->prev_is_retry; - ra.no_cache = strategyTxn->prev_no_cache; + if (strategyTxn->prev_ra.hostname_len != 0) { + ra = strategyTxn->prev_ra; TSDebug(PLUGIN_NAME, "mark_response using prev %.*s:%d", int(ra.hostname_len), ra.hostname, ra.port); } else { TSHttpTxnResponseActionGet(txnp, &ra); TSDebug(PLUGIN_NAME, "mark_response using response_action %.*s:%d", int(ra.hostname_len), ra.hostname, ra.port); } + if (isFailure && strategy->onFailureMarkParentDown(status)) { if (ra.hostname == nullptr) { TSError( @@ -159,13 +100,6 @@ handle_read_response(TSHttpTxn txnp, StrategyTxn *strategyTxn) TSDebug(PLUGIN_NAME, "handle_read_response got strategy '%s'", strategy->name()); - // increment request count here, not send_request, because we need to consistently increase with os_dns hooks. - // if we incremented the req count in send_request and not here, that would never be called on DNS failures, but DNS successes - // would call os_dns and also send_request, resulting in dns failures incrementing the count by 1, and dns successes but http - // failures would increment by 2. And successes would increment by 2. Hence, the only consistent way to count requests is on - // read_response and os_dns, and not send_request. - ++strategyTxn->request_count; - TSMBuffer resp; TSMLoc resp_hdr; if (TS_SUCCESS != TSHttpTxnServerRespGet(txnp, &resp, &resp_hdr)) { @@ -193,18 +127,15 @@ handle_read_response(TSHttpTxn txnp, StrategyTxn *strategyTxn) // Status. TSResponseAction ra; TSHttpTxnResponseActionGet(txnp, &ra); - ra.responseIsRetryable = strategy->responseIsRetryable(strategyTxn->request_count, status); + ra.responseIsRetryable = strategy->responseIsRetryable(strategyTxn->request_count - 1, status); TSHttpTxnResponseActionSet(txnp, &ra); } // un-set the "prev" hackery. That only exists for markdown, which we just did. // The response_action is now the next thing to try, if this was a failure, // and should now be considered authoritative for everything. - strategyTxn->prev_host = nullptr; - strategyTxn->prev_host_len = 0; - strategyTxn->prev_port = 0; - strategyTxn->prev_is_retry = false; - strategyTxn->prev_no_cache = false; + + memset(&strategyTxn->prev_ra, 0, sizeof(TSResponseAction)); TSHandleMLocRelease(resp, TS_NULL_MLOC, resp_hdr); TSHttpTxnReenable(txnp, TS_EVENT_HTTP_CONTINUE); @@ -216,48 +147,37 @@ handle_os_dns(TSHttpTxn txnp, StrategyTxn *strategyTxn) { TSDebug(PLUGIN_NAME, "handle_os_dns calling"); - ++strategyTxn->request_count; // this is called after connection failures. So if we got here, we attempted a request - - // This is not called on the first attempt. - // Thus, if we got called here, we know it's because of a parent failure. - // So immediately find the next parent, and set the response_action. + ++strategyTxn->request_count; auto strategy = strategyTxn->strategy; TSDebug(PLUGIN_NAME, "handle_os_dns got strategy '%s'", strategy->name()); - mark_response(txnp, strategyTxn, STATUS_CONNECTION_FAILURE); - - // now, we need to figure out, are we the first call after send_response set the response_action as the next-thing-to-try, - // or are we a subsequent call, and need to actually set a new response_action - - if (strategyTxn->prev_host != nullptr) { - TSDebug(PLUGIN_NAME, "handle_os_dns had prev, keeping existing response_action and un-setting prev"); - // if strategyTxn->prev_host exists, this is the very first call after send_response set the response_action to the next thing - // to try. and no handle_response was called in-between (because it was a connection or dns failure) So keep that, and set - // prev_host=nullptr (so we get a new response_action the next time we're called) - strategyTxn->prev_host = nullptr; - strategyTxn->prev_port = 0; - strategyTxn->prev_is_retry = false; - strategyTxn->prev_no_cache = false; - TSHttpTxnReenable(txnp, TS_EVENT_HTTP_CONTINUE); - return TS_SUCCESS; + const TSServerState server_state = TSHttpTxnServerStateGet(txnp); + if (server_state == TS_SRVSTATE_CONNECTION_ERROR || server_state == TS_SRVSTATE_INACTIVE_TIMEOUT) { + mark_response(txnp, strategyTxn, STATUS_CONNECTION_FAILURE); } TSDebug(PLUGIN_NAME, "handle_os_dns had no prev, setting new response_action"); + { + TSResponseAction ra; + TSHttpTxnResponseActionGet(txnp, &ra); + strategyTxn->prev_ra = ra; + } + TSResponseAction ra; - memset(&ra, 0, sizeof(TSResponseAction)); // because {0} gives a C++ warning. Ugh. - const char *const exclude_host = nullptr; - const size_t exclude_host_len = 0; - const in_port_t exclude_port = 0; + memset(&ra, 0, sizeof(TSResponseAction)); + const char *const exclude_host = strategyTxn->prev_ra.hostname; + const size_t exclude_host_len = strategyTxn->prev_ra.hostname_len; + const in_port_t exclude_port = strategyTxn->prev_ra.port; strategy->next(txnp, strategyTxn->txn, exclude_host, exclude_host_len, exclude_port, &ra.hostname, &ra.hostname_len, &ra.port, &ra.is_retry, &ra.no_cache); ra.fail = ra.hostname == nullptr; // failed is whether to immediately fail and return the client a 502. In this case: whether or // not we found another parent. ra.nextHopExists = ra.hostname_len != 0; - ra.responseIsRetryable = strategy->responseIsRetryable(strategyTxn->request_count, STATUS_CONNECTION_FAILURE); + ra.responseIsRetryable = strategy->responseIsRetryable(strategyTxn->request_count - 1, STATUS_CONNECTION_FAILURE); ra.goDirect = strategy->goDirect(); ra.parentIsProxy = strategy->parentIsProxy(); TSDebug(PLUGIN_NAME, "handle_os_dns setting response_action hostname '%.*s' port %d direct %d proxy %d is_retry %d exists %d", @@ -298,14 +218,8 @@ handle_hook(TSCont contp, TSEvent event, void *edata) TSDebug(PLUGIN_NAME, "handle_hook got strategy '%s'", strategyTxn->strategy->name()); switch (event) { - // case TS_EVENT_HTTP_READ_REQUEST_HDR: - // return handle_read_request(txnp, strategyTxn); - case TS_EVENT_HTTP_SEND_REQUEST_HDR: - return handle_send_request(txnp, strategyTxn); case TS_EVENT_HTTP_READ_RESPONSE_HDR: return handle_read_response(txnp, strategyTxn); - // case TS_EVENT_HTTP_SEND_RESPONSE_HDR: - // return handle_send_response(txnp, strategyTxn); case TS_EVENT_HTTP_OS_DNS: return handle_os_dns(txnp, strategyTxn); case TS_EVENT_HTTP_TXN_CLOSE: @@ -417,16 +331,10 @@ TSRemapDoRemap(void *ih, TSHttpTxn txnp, TSRemapRequestInfo *rri) strategyTxn->strategy = strategy; strategyTxn->txn = strategy->newTxn(); strategyTxn->request_count = 0; - strategyTxn->prev_host = nullptr; - strategyTxn->prev_port = 0; - strategyTxn->prev_is_retry = false; - strategyTxn->prev_no_cache = false; + memset(&strategyTxn->prev_ra, 0, sizeof(TSResponseAction)); TSContDataSet(cont, (void *)strategyTxn); - // TSHttpTxnHookAdd(txnp, TS_HTTP_READ_REQUEST_HDR_HOOK, cont); - TSHttpTxnHookAdd(txnp, TS_HTTP_SEND_REQUEST_HDR_HOOK, cont); TSHttpTxnHookAdd(txnp, TS_HTTP_READ_RESPONSE_HDR_HOOK, cont); - // TSHttpTxnHookAdd(txnp, TS_HTTP_SEND_RESPONSE_HDR_HOOK, cont); TSHttpTxnHookAdd(txnp, TS_HTTP_OS_DNS_HOOK, cont); TSHttpTxnHookAdd(txnp, TS_HTTP_TXN_CLOSE_HOOK, cont); diff --git a/proxy/http/HttpTransact.cc b/proxy/http/HttpTransact.cc index 68a9242a793..aeb91b35d9c 100644 --- a/proxy/http/HttpTransact.cc +++ b/proxy/http/HttpTransact.cc @@ -1753,11 +1753,21 @@ HttpTransact::HandleApiErrorJump(State *s) return; } -// PPDNSLookupAPICall does an API callout, then calls PPDNSLookup +// PPDNSLookupAPICall does an API callout if a plugin set the response_action, +// then calls PPDNSLookup. +// This is to preserve plugin hook calling behavior pre-9, which didn't call +// the TS_HTTP_OS_DNS_HOOK on PPDNSLookup. +// Since response_action is new in 9, only new plugins intentionally setting +// it will have the new behavior of TS_HTTP_OS_DNS_HOOK firing on PPDNSLookup. void HttpTransact::PPDNSLookupAPICall(State *s) { - TRANSACT_RETURN(SM_ACTION_API_OS_DNS, PPDNSLookup); + TxnDebug("http_trans", "[HttpTransact::PPDNSLookupAPICall] response_action.handled %d", s->response_action.handled); + if (!s->response_action.handled) { + TRANSACT_RETURN(SM_ACTION_DNS_LOOKUP, PPDNSLookup); + } else { + TRANSACT_RETURN(SM_ACTION_API_OS_DNS, PPDNSLookup); + } } /////////////////////////////////////////////////////////////////////////////// @@ -1798,11 +1808,7 @@ HttpTransact::PPDNSLookup(State *s) if (!s->current.server->dst_addr.isValid()) { if (s->current.request_to == PARENT_PROXY) { - if (!s->response_action.handled) { - TRANSACT_RETURN(SM_ACTION_DNS_LOOKUP, PPDNSLookup); - } else { - TRANSACT_RETURN(SM_ACTION_DNS_LOOKUP, PPDNSLookupAPICall); - } + TRANSACT_RETURN(SM_ACTION_DNS_LOOKUP, PPDNSLookupAPICall); } else if (s->parent_result.result == PARENT_DIRECT && s->http_config_param->no_dns_forward_to_parent != 1) { // We ran out of parents but parent configuration allows us to go to Origin Server directly CallOSDNSLookup(s); @@ -2243,7 +2249,7 @@ HttpTransact::LookupSkipOpenServer(State *s) find_server_and_update_current_info(s); if (s->current.request_to == PARENT_PROXY) { - TRANSACT_RETURN(SM_ACTION_DNS_LOOKUP, PPDNSLookup); + TRANSACT_RETURN(SM_ACTION_DNS_LOOKUP, PPDNSLookupAPICall); } else if (s->parent_result.result == PARENT_FAIL) { handle_parent_died(s); return; @@ -2950,7 +2956,7 @@ HttpTransact::HandleCacheOpenReadHit(State *s) ink_assert(s->pending_work == nullptr); s->pending_work = issue_revalidate; - TRANSACT_RETURN(SM_ACTION_DNS_LOOKUP, PPDNSLookup); + TRANSACT_RETURN(SM_ACTION_DNS_LOOKUP, PPDNSLookupAPICall); } else if (s->current.request_to == ORIGIN_SERVER) { return CallOSDNSLookup(s); } else { @@ -3377,7 +3383,7 @@ HttpTransact::HandleCacheOpenReadMiss(State *s) return CallOSDNSLookup(s); } if (s->current.request_to == PARENT_PROXY) { - TRANSACT_RETURN(SM_ACTION_DNS_LOOKUP, HttpTransact::PPDNSLookup); + TRANSACT_RETURN(SM_ACTION_DNS_LOOKUP, HttpTransact::PPDNSLookupAPICall); } else { handle_parent_died(s); return; @@ -3746,7 +3752,7 @@ HttpTransact::handle_response_from_parent(State *s) switch (next_lookup) { case PARENT_PROXY: ink_assert(s->current.request_to == PARENT_PROXY); - TRANSACT_RETURN(SM_ACTION_DNS_LOOKUP, PPDNSLookup); + TRANSACT_RETURN(SM_ACTION_DNS_LOOKUP, PPDNSLookupAPICall); break; case ORIGIN_SERVER: // Next lookup is Origin Server, try DNS for Origin Server diff --git a/tests/gold_tests/pluginTest/parent_select/peer.trace.gold b/tests/gold_tests/pluginTest/parent_select/peer.trace.gold index 4c1810eebf3..85da7695933 100644 --- a/tests/gold_tests/pluginTest/parent_select/peer.trace.gold +++ b/tests/gold_tests/pluginTest/parent_select/peer.trace.gold @@ -1,10 +1,10 @@ trace_peer0.log:+++++++++ Incoming Request +++++++++ trace_peer0.log:GET http://dummy.com/obj0 HTTP/1.1 [0] state->result: PARENT_SPECIFIED Chosen parent: ts_peer3 -trace_peer0.log:+++++++++ Proxy's Request +++++++++ -trace_peer0.log:GET http://not_used/obj0 HTTP/1.1 [0] not firstcall, line_number: 0, result: PARENT_SPECIFIED [0] state->result: PARENT_SPECIFIED Chosen parent: ts_upstream2 +trace_peer0.log:+++++++++ Proxy's Request +++++++++ +trace_peer0.log:GET http://not_used/obj0 HTTP/1.1 trace_peer0.log:+++++++++ Proxy's Request after hooks +++++++++ trace_peer0.log:GET http://not_used/obj0 HTTP/1.1 trace_peer0.log:+++++++++ Incoming O.S. Response +++++++++ @@ -18,10 +18,10 @@ trace_peer0.log:HTTP/1.1 200 OK trace_peer0.log:+++++++++ Incoming Request +++++++++ trace_peer0.log:GET http://not_used/obj7 HTTP/1.1 [1] state->result: PARENT_SPECIFIED Chosen parent: ts_upstream5 -trace_peer0.log:+++++++++ Proxy's Request +++++++++ -trace_peer0.log:GET http://also_not_used/obj7 HTTP/1.1 [1] not firstcall, line_number: 0, result: PARENT_SPECIFIED [1] state->result: PARENT_SPECIFIED Chosen parent: ts_upstream0 +trace_peer0.log:+++++++++ Proxy's Request +++++++++ +trace_peer0.log:GET http://also_not_used/obj7 HTTP/1.1 trace_peer0.log:+++++++++ Proxy's Request after hooks +++++++++ trace_peer0.log:GET http://also_not_used/obj7 HTTP/1.1 trace_peer0.log:+++++++++ Incoming O.S. Response +++++++++ @@ -35,10 +35,10 @@ trace_peer0.log:HTTP/1.1 200 OK trace_peer0.log:+++++++++ Incoming Request +++++++++ trace_peer0.log:GET http://dummy.com/obj8 HTTP/1.1 [2] state->result: PARENT_SPECIFIED Chosen parent: ts_peer6 -trace_peer0.log:+++++++++ Proxy's Request +++++++++ -trace_peer0.log:GET http://not_used/obj8 HTTP/1.1 [2] not firstcall, line_number: 0, result: PARENT_SPECIFIED [2] state->result: PARENT_SPECIFIED Chosen parent: ts_upstream0 +trace_peer0.log:+++++++++ Proxy's Request +++++++++ +trace_peer0.log:GET http://not_used/obj8 HTTP/1.1 trace_peer0.log:+++++++++ Proxy's Request after hooks +++++++++ trace_peer0.log:GET http://not_used/obj8 HTTP/1.1 trace_peer0.log:+++++++++ Incoming O.S. Response +++++++++ @@ -82,10 +82,10 @@ trace_peer0.log:HTTP/1.1 200 OK trace_peer1.log:+++++++++ Incoming Request +++++++++ trace_peer1.log:GET http://dummy.com/obj1 HTTP/1.1 [0] state->result: PARENT_SPECIFIED Chosen parent: ts_peer5 -trace_peer1.log:+++++++++ Proxy's Request +++++++++ -trace_peer1.log:GET http://not_used/obj1 HTTP/1.1 [0] not firstcall, line_number: 0, result: PARENT_SPECIFIED [0] state->result: PARENT_SPECIFIED Chosen parent: ts_upstream5 +trace_peer1.log:+++++++++ Proxy's Request +++++++++ +trace_peer1.log:GET http://not_used/obj1 HTTP/1.1 trace_peer1.log:+++++++++ Proxy's Request after hooks +++++++++ trace_peer1.log:GET http://not_used/obj1 HTTP/1.1 trace_peer1.log:+++++++++ Incoming O.S. Response +++++++++ @@ -99,10 +99,10 @@ trace_peer1.log:HTTP/1.1 200 OK trace_peer1.log:+++++++++ Incoming Request +++++++++ trace_peer1.log:GET http://dummy.com/obj9 HTTP/1.1 [1] state->result: PARENT_SPECIFIED Chosen parent: ts_peer7 -trace_peer1.log:+++++++++ Proxy's Request +++++++++ -trace_peer1.log:GET http://not_used/obj9 HTTP/1.1 [1] not firstcall, line_number: 0, result: PARENT_SPECIFIED [1] state->result: PARENT_SPECIFIED Chosen parent: ts_upstream0 +trace_peer1.log:+++++++++ Proxy's Request +++++++++ +trace_peer1.log:GET http://not_used/obj9 HTTP/1.1 trace_peer1.log:+++++++++ Proxy's Request after hooks +++++++++ trace_peer1.log:GET http://not_used/obj9 HTTP/1.1 trace_peer1.log:+++++++++ Incoming O.S. Response +++++++++ @@ -116,10 +116,10 @@ trace_peer1.log:HTTP/1.1 200 OK trace_peer1.log:+++++++++ Incoming Request +++++++++ trace_peer1.log:GET http://not_used/obj10 HTTP/1.1 [2] state->result: PARENT_SPECIFIED Chosen parent: ts_upstream4 -trace_peer1.log:+++++++++ Proxy's Request +++++++++ -trace_peer1.log:GET http://also_not_used/obj10 HTTP/1.1 [2] not firstcall, line_number: 0, result: PARENT_SPECIFIED [2] state->result: PARENT_SPECIFIED Chosen parent: ts_upstream2 +trace_peer1.log:+++++++++ Proxy's Request +++++++++ +trace_peer1.log:GET http://also_not_used/obj10 HTTP/1.1 trace_peer1.log:+++++++++ Proxy's Request after hooks +++++++++ trace_peer1.log:GET http://also_not_used/obj10 HTTP/1.1 trace_peer1.log:+++++++++ Incoming O.S. Response +++++++++ @@ -133,10 +133,10 @@ trace_peer1.log:HTTP/1.1 200 OK trace_peer1.log:+++++++++ Incoming Request +++++++++ trace_peer1.log:GET http://dummy.com/obj3 HTTP/1.1 [3] state->result: PARENT_SPECIFIED Chosen parent: ts_peer2 -trace_peer1.log:+++++++++ Proxy's Request +++++++++ -trace_peer1.log:GET http://not_used/obj3 HTTP/1.1 [3] not firstcall, line_number: 0, result: PARENT_SPECIFIED [3] state->result: PARENT_SPECIFIED Chosen parent: ts_upstream0 +trace_peer1.log:+++++++++ Proxy's Request +++++++++ +trace_peer1.log:GET http://not_used/obj3 HTTP/1.1 trace_peer1.log:+++++++++ Proxy's Request after hooks +++++++++ trace_peer1.log:GET http://not_used/obj3 HTTP/1.1 trace_peer1.log:+++++++++ Incoming O.S. Response +++++++++ @@ -160,10 +160,10 @@ trace_peer1.log:HTTP/1.1 200 OK trace_peer1.log:+++++++++ Incoming Request +++++++++ trace_peer1.log:GET http://dummy.com/obj11 HTTP/1.1 [5] state->result: PARENT_SPECIFIED Chosen parent: ts_peer7 -trace_peer1.log:+++++++++ Proxy's Request +++++++++ -trace_peer1.log:GET http://not_used/obj11 HTTP/1.1 [5] not firstcall, line_number: 0, result: PARENT_SPECIFIED [5] state->result: PARENT_SPECIFIED Chosen parent: ts_upstream2 +trace_peer1.log:+++++++++ Proxy's Request +++++++++ +trace_peer1.log:GET http://not_used/obj11 HTTP/1.1 trace_peer1.log:+++++++++ Proxy's Request after hooks +++++++++ trace_peer1.log:GET http://not_used/obj11 HTTP/1.1 trace_peer1.log:+++++++++ Incoming O.S. Response +++++++++ @@ -177,10 +177,10 @@ trace_peer1.log:HTTP/1.1 200 OK trace_peer2.log:+++++++++ Incoming Request +++++++++ trace_peer2.log:GET http://dummy.com/obj2 HTTP/1.1 [0] state->result: PARENT_SPECIFIED Chosen parent: ts_peer7 -trace_peer2.log:+++++++++ Proxy's Request +++++++++ -trace_peer2.log:GET http://not_used/obj2 HTTP/1.1 [0] not firstcall, line_number: 0, result: PARENT_SPECIFIED [0] state->result: PARENT_SPECIFIED Chosen parent: ts_upstream5 +trace_peer2.log:+++++++++ Proxy's Request +++++++++ +trace_peer2.log:GET http://not_used/obj2 HTTP/1.1 trace_peer2.log:+++++++++ Proxy's Request after hooks +++++++++ trace_peer2.log:GET http://not_used/obj2 HTTP/1.1 trace_peer2.log:+++++++++ Incoming O.S. Response +++++++++ @@ -194,10 +194,10 @@ trace_peer2.log:HTTP/1.1 200 OK trace_peer2.log:+++++++++ Incoming Request +++++++++ trace_peer2.log:GET http://not_used/obj3 HTTP/1.1 [1] state->result: PARENT_SPECIFIED Chosen parent: ts_upstream0 -trace_peer2.log:+++++++++ Proxy's Request +++++++++ -trace_peer2.log:GET http://also_not_used/obj3 HTTP/1.1 [1] not firstcall, line_number: 0, result: PARENT_SPECIFIED [1] state->result: PARENT_SPECIFIED Chosen parent: ts_upstream5 +trace_peer2.log:+++++++++ Proxy's Request +++++++++ +trace_peer2.log:GET http://also_not_used/obj3 HTTP/1.1 trace_peer2.log:+++++++++ Proxy's Request after hooks +++++++++ trace_peer2.log:GET http://also_not_used/obj3 HTTP/1.1 trace_peer2.log:+++++++++ Incoming O.S. Response +++++++++ @@ -211,10 +211,10 @@ trace_peer2.log:HTTP/1.1 200 OK trace_peer2.log:+++++++++ Incoming Request +++++++++ trace_peer2.log:GET http://not_used/obj4 HTTP/1.1 [2] state->result: PARENT_SPECIFIED Chosen parent: ts_upstream0 -trace_peer2.log:+++++++++ Proxy's Request +++++++++ -trace_peer2.log:GET http://also_not_used/obj4 HTTP/1.1 [2] not firstcall, line_number: 0, result: PARENT_SPECIFIED [2] state->result: PARENT_SPECIFIED Chosen parent: ts_upstream2 +trace_peer2.log:+++++++++ Proxy's Request +++++++++ +trace_peer2.log:GET http://also_not_used/obj4 HTTP/1.1 trace_peer2.log:+++++++++ Proxy's Request after hooks +++++++++ trace_peer2.log:GET http://also_not_used/obj4 HTTP/1.1 trace_peer2.log:+++++++++ Incoming O.S. Response +++++++++ @@ -228,10 +228,10 @@ trace_peer2.log:HTTP/1.1 200 OK trace_peer2.log:+++++++++ Incoming Request +++++++++ trace_peer2.log:GET http://not_used/obj5 HTTP/1.1 [3] state->result: PARENT_SPECIFIED Chosen parent: ts_upstream5 -trace_peer2.log:+++++++++ Proxy's Request +++++++++ -trace_peer2.log:GET http://also_not_used/obj5 HTTP/1.1 [3] not firstcall, line_number: 0, result: PARENT_SPECIFIED [3] state->result: PARENT_SPECIFIED Chosen parent: ts_upstream0 +trace_peer2.log:+++++++++ Proxy's Request +++++++++ +trace_peer2.log:GET http://also_not_used/obj5 HTTP/1.1 trace_peer2.log:+++++++++ Proxy's Request after hooks +++++++++ trace_peer2.log:GET http://also_not_used/obj5 HTTP/1.1 trace_peer2.log:+++++++++ Incoming O.S. Response +++++++++ @@ -245,10 +245,10 @@ trace_peer2.log:HTTP/1.1 200 OK trace_peer2.log:+++++++++ Incoming Request +++++++++ trace_peer2.log:GET http://not_used/obj6 HTTP/1.1 [4] state->result: PARENT_SPECIFIED Chosen parent: ts_upstream5 -trace_peer2.log:+++++++++ Proxy's Request +++++++++ -trace_peer2.log:GET http://also_not_used/obj6 HTTP/1.1 [4] not firstcall, line_number: 0, result: PARENT_SPECIFIED [4] state->result: PARENT_SPECIFIED Chosen parent: ts_upstream0 +trace_peer2.log:+++++++++ Proxy's Request +++++++++ +trace_peer2.log:GET http://also_not_used/obj6 HTTP/1.1 trace_peer2.log:+++++++++ Proxy's Request after hooks +++++++++ trace_peer2.log:GET http://also_not_used/obj6 HTTP/1.1 trace_peer2.log:+++++++++ Incoming O.S. Response +++++++++ @@ -262,10 +262,10 @@ trace_peer2.log:HTTP/1.1 200 OK trace_peer2.log:+++++++++ Incoming Request +++++++++ trace_peer2.log:GET http://dummy.com/obj10 HTTP/1.1 [5] state->result: PARENT_SPECIFIED Chosen parent: ts_peer1 -trace_peer2.log:+++++++++ Proxy's Request +++++++++ -trace_peer2.log:GET http://not_used/obj10 HTTP/1.1 [5] not firstcall, line_number: 0, result: PARENT_SPECIFIED [5] state->result: PARENT_SPECIFIED Chosen parent: ts_upstream4 +trace_peer2.log:+++++++++ Proxy's Request +++++++++ +trace_peer2.log:GET http://not_used/obj10 HTTP/1.1 trace_peer2.log:+++++++++ Proxy's Request after hooks +++++++++ trace_peer2.log:GET http://not_used/obj10 HTTP/1.1 trace_peer2.log:+++++++++ Incoming O.S. Response +++++++++ @@ -279,10 +279,10 @@ trace_peer2.log:HTTP/1.1 200 OK trace_peer2.log:+++++++++ Incoming Request +++++++++ trace_peer2.log:GET http://not_used/obj12 HTTP/1.1 [6] state->result: PARENT_SPECIFIED Chosen parent: ts_upstream0 -trace_peer2.log:+++++++++ Proxy's Request +++++++++ -trace_peer2.log:GET http://also_not_used/obj12 HTTP/1.1 [6] not firstcall, line_number: 0, result: PARENT_SPECIFIED [6] state->result: PARENT_SPECIFIED Chosen parent: ts_upstream4 +trace_peer2.log:+++++++++ Proxy's Request +++++++++ +trace_peer2.log:GET http://also_not_used/obj12 HTTP/1.1 trace_peer2.log:+++++++++ Proxy's Request after hooks +++++++++ trace_peer2.log:GET http://also_not_used/obj12 HTTP/1.1 trace_peer2.log:+++++++++ Incoming O.S. Response +++++++++ @@ -316,10 +316,10 @@ trace_peer2.log:HTTP/1.1 200 OK trace_peer2.log:+++++++++ Incoming Request +++++++++ trace_peer2.log:GET http://dummy.com/obj6 HTTP/1.1 [9] state->result: PARENT_SPECIFIED Chosen parent: ts_upstream5 -trace_peer2.log:+++++++++ Proxy's Request +++++++++ -trace_peer2.log:GET http://not_used/obj6 HTTP/1.1 [9] not firstcall, line_number: 0, result: PARENT_SPECIFIED [9] state->result: PARENT_SPECIFIED Chosen parent: ts_upstream0 +trace_peer2.log:+++++++++ Proxy's Request +++++++++ +trace_peer2.log:GET http://not_used/obj6 HTTP/1.1 trace_peer2.log:+++++++++ Proxy's Request after hooks +++++++++ trace_peer2.log:GET http://not_used/obj6 HTTP/1.1 trace_peer2.log:+++++++++ Incoming O.S. Response +++++++++ @@ -333,10 +333,10 @@ trace_peer2.log:HTTP/1.1 200 OK trace_peer2.log:+++++++++ Incoming Request +++++++++ trace_peer2.log:GET http://dummy.com/obj14 HTTP/1.1 [10] state->result: PARENT_SPECIFIED Chosen parent: ts_peer5 -trace_peer2.log:+++++++++ Proxy's Request +++++++++ -trace_peer2.log:GET http://not_used/obj14 HTTP/1.1 [10] not firstcall, line_number: 0, result: PARENT_SPECIFIED [10] state->result: PARENT_SPECIFIED Chosen parent: ts_upstream0 +trace_peer2.log:+++++++++ Proxy's Request +++++++++ +trace_peer2.log:GET http://not_used/obj14 HTTP/1.1 trace_peer2.log:+++++++++ Proxy's Request after hooks +++++++++ trace_peer2.log:GET http://not_used/obj14 HTTP/1.1 trace_peer2.log:+++++++++ Incoming O.S. Response +++++++++ @@ -350,10 +350,10 @@ trace_peer2.log:HTTP/1.1 200 OK trace_peer3.log:+++++++++ Incoming Request +++++++++ trace_peer3.log:GET http://not_used/obj0 HTTP/1.1 [0] state->result: PARENT_SPECIFIED Chosen parent: ts_upstream2 -trace_peer3.log:+++++++++ Proxy's Request +++++++++ -trace_peer3.log:GET http://also_not_used/obj0 HTTP/1.1 [0] not firstcall, line_number: 0, result: PARENT_SPECIFIED [0] state->result: PARENT_SPECIFIED Chosen parent: ts_upstream4 +trace_peer3.log:+++++++++ Proxy's Request +++++++++ +trace_peer3.log:GET http://also_not_used/obj0 HTTP/1.1 trace_peer3.log:+++++++++ Proxy's Request after hooks +++++++++ trace_peer3.log:GET http://also_not_used/obj0 HTTP/1.1 trace_peer3.log:+++++++++ Incoming O.S. Response +++++++++ @@ -367,10 +367,10 @@ trace_peer3.log:HTTP/1.1 200 OK trace_peer3.log:+++++++++ Incoming Request +++++++++ trace_peer3.log:GET http://dummy.com/obj3 HTTP/1.1 [1] state->result: PARENT_SPECIFIED Chosen parent: ts_peer2 -trace_peer3.log:+++++++++ Proxy's Request +++++++++ -trace_peer3.log:GET http://not_used/obj3 HTTP/1.1 [1] not firstcall, line_number: 0, result: PARENT_SPECIFIED [1] state->result: PARENT_SPECIFIED Chosen parent: ts_upstream0 +trace_peer3.log:+++++++++ Proxy's Request +++++++++ +trace_peer3.log:GET http://not_used/obj3 HTTP/1.1 trace_peer3.log:+++++++++ Proxy's Request after hooks +++++++++ trace_peer3.log:GET http://not_used/obj3 HTTP/1.1 trace_peer3.log:+++++++++ Incoming O.S. Response +++++++++ @@ -384,10 +384,10 @@ trace_peer3.log:HTTP/1.1 200 OK trace_peer3.log:+++++++++ Incoming Request +++++++++ trace_peer3.log:GET http://dummy.com/obj11 HTTP/1.1 [2] state->result: PARENT_SPECIFIED Chosen parent: ts_peer7 -trace_peer3.log:+++++++++ Proxy's Request +++++++++ -trace_peer3.log:GET http://not_used/obj11 HTTP/1.1 [2] not firstcall, line_number: 0, result: PARENT_SPECIFIED [2] state->result: PARENT_SPECIFIED Chosen parent: ts_upstream2 +trace_peer3.log:+++++++++ Proxy's Request +++++++++ +trace_peer3.log:GET http://not_used/obj11 HTTP/1.1 trace_peer3.log:+++++++++ Proxy's Request after hooks +++++++++ trace_peer3.log:GET http://not_used/obj11 HTTP/1.1 trace_peer3.log:+++++++++ Incoming O.S. Response +++++++++ @@ -401,10 +401,10 @@ trace_peer3.log:HTTP/1.1 200 OK trace_peer3.log:+++++++++ Incoming Request +++++++++ trace_peer3.log:GET http://not_used/obj13 HTTP/1.1 [3] state->result: PARENT_SPECIFIED Chosen parent: ts_upstream2 -trace_peer3.log:+++++++++ Proxy's Request +++++++++ -trace_peer3.log:GET http://also_not_used/obj13 HTTP/1.1 [3] not firstcall, line_number: 0, result: PARENT_SPECIFIED [3] state->result: PARENT_SPECIFIED Chosen parent: ts_upstream4 +trace_peer3.log:+++++++++ Proxy's Request +++++++++ +trace_peer3.log:GET http://also_not_used/obj13 HTTP/1.1 trace_peer3.log:+++++++++ Proxy's Request after hooks +++++++++ trace_peer3.log:GET http://also_not_used/obj13 HTTP/1.1 trace_peer3.log:+++++++++ Incoming O.S. Response +++++++++ @@ -418,10 +418,10 @@ trace_peer3.log:HTTP/1.1 200 OK trace_peer3.log:+++++++++ Incoming Request +++++++++ trace_peer3.log:GET http://not_used/obj15 HTTP/1.1 [4] state->result: PARENT_SPECIFIED Chosen parent: ts_upstream4 -trace_peer3.log:+++++++++ Proxy's Request +++++++++ -trace_peer3.log:GET http://also_not_used/obj15 HTTP/1.1 [4] not firstcall, line_number: 0, result: PARENT_SPECIFIED [4] state->result: PARENT_SPECIFIED Chosen parent: ts_upstream1 +trace_peer3.log:+++++++++ Proxy's Request +++++++++ +trace_peer3.log:GET http://also_not_used/obj15 HTTP/1.1 trace_peer3.log:+++++++++ Proxy's Request after hooks +++++++++ trace_peer3.log:GET http://also_not_used/obj15 HTTP/1.1 trace_peer3.log:+++++++++ Incoming O.S. Response +++++++++ @@ -435,10 +435,10 @@ trace_peer3.log:HTTP/1.1 200 OK trace_peer3.log:+++++++++ Incoming Request +++++++++ trace_peer3.log:GET http://dummy.com/obj1 HTTP/1.1 [5] state->result: PARENT_SPECIFIED Chosen parent: ts_peer5 -trace_peer3.log:+++++++++ Proxy's Request +++++++++ -trace_peer3.log:GET http://not_used/obj1 HTTP/1.1 [5] not firstcall, line_number: 0, result: PARENT_SPECIFIED [5] state->result: PARENT_SPECIFIED Chosen parent: ts_upstream5 +trace_peer3.log:+++++++++ Proxy's Request +++++++++ +trace_peer3.log:GET http://not_used/obj1 HTTP/1.1 trace_peer3.log:+++++++++ Proxy's Request after hooks +++++++++ trace_peer3.log:GET http://not_used/obj1 HTTP/1.1 trace_peer3.log:+++++++++ Incoming O.S. Response +++++++++ @@ -452,10 +452,10 @@ trace_peer3.log:HTTP/1.1 200 OK trace_peer3.log:+++++++++ Incoming Request +++++++++ trace_peer3.log:GET http://dummy.com/obj9 HTTP/1.1 [6] state->result: PARENT_SPECIFIED Chosen parent: ts_peer7 -trace_peer3.log:+++++++++ Proxy's Request +++++++++ -trace_peer3.log:GET http://not_used/obj9 HTTP/1.1 [6] not firstcall, line_number: 0, result: PARENT_SPECIFIED [6] state->result: PARENT_SPECIFIED Chosen parent: ts_upstream0 +trace_peer3.log:+++++++++ Proxy's Request +++++++++ +trace_peer3.log:GET http://not_used/obj9 HTTP/1.1 trace_peer3.log:+++++++++ Proxy's Request after hooks +++++++++ trace_peer3.log:GET http://not_used/obj9 HTTP/1.1 trace_peer3.log:+++++++++ Incoming O.S. Response +++++++++ @@ -489,10 +489,10 @@ trace_peer3.log:HTTP/1.1 200 OK trace_peer4.log:+++++++++ Incoming Request +++++++++ trace_peer4.log:GET http://dummy.com/obj4 HTTP/1.1 [0] state->result: PARENT_SPECIFIED Chosen parent: ts_peer2 -trace_peer4.log:+++++++++ Proxy's Request +++++++++ -trace_peer4.log:GET http://not_used/obj4 HTTP/1.1 [0] not firstcall, line_number: 0, result: PARENT_SPECIFIED [0] state->result: PARENT_SPECIFIED Chosen parent: ts_upstream0 +trace_peer4.log:+++++++++ Proxy's Request +++++++++ +trace_peer4.log:GET http://not_used/obj4 HTTP/1.1 trace_peer4.log:+++++++++ Proxy's Request after hooks +++++++++ trace_peer4.log:GET http://not_used/obj4 HTTP/1.1 trace_peer4.log:+++++++++ Incoming O.S. Response +++++++++ @@ -506,10 +506,10 @@ trace_peer4.log:HTTP/1.1 200 OK trace_peer4.log:+++++++++ Incoming Request +++++++++ trace_peer4.log:GET http://dummy.com/obj12 HTTP/1.1 [1] state->result: PARENT_SPECIFIED Chosen parent: ts_peer2 -trace_peer4.log:+++++++++ Proxy's Request +++++++++ -trace_peer4.log:GET http://not_used/obj12 HTTP/1.1 [1] not firstcall, line_number: 0, result: PARENT_SPECIFIED [1] state->result: PARENT_SPECIFIED Chosen parent: ts_upstream0 +trace_peer4.log:+++++++++ Proxy's Request +++++++++ +trace_peer4.log:GET http://not_used/obj12 HTTP/1.1 trace_peer4.log:+++++++++ Proxy's Request after hooks +++++++++ trace_peer4.log:GET http://not_used/obj12 HTTP/1.1 trace_peer4.log:+++++++++ Incoming O.S. Response +++++++++ @@ -543,10 +543,10 @@ trace_peer4.log:HTTP/1.1 200 OK trace_peer5.log:+++++++++ Incoming Request +++++++++ trace_peer5.log:GET http://not_used/obj1 HTTP/1.1 [0] state->result: PARENT_SPECIFIED Chosen parent: ts_upstream5 -trace_peer5.log:+++++++++ Proxy's Request +++++++++ -trace_peer5.log:GET http://also_not_used/obj1 HTTP/1.1 [0] not firstcall, line_number: 0, result: PARENT_SPECIFIED [0] state->result: PARENT_SPECIFIED Chosen parent: ts_upstream4 +trace_peer5.log:+++++++++ Proxy's Request +++++++++ +trace_peer5.log:GET http://also_not_used/obj1 HTTP/1.1 trace_peer5.log:+++++++++ Proxy's Request after hooks +++++++++ trace_peer5.log:GET http://also_not_used/obj1 HTTP/1.1 trace_peer5.log:+++++++++ Incoming O.S. Response +++++++++ @@ -560,10 +560,10 @@ trace_peer5.log:HTTP/1.1 200 OK trace_peer5.log:+++++++++ Incoming Request +++++++++ trace_peer5.log:GET http://dummy.com/obj5 HTTP/1.1 [1] state->result: PARENT_SPECIFIED Chosen parent: ts_peer2 -trace_peer5.log:+++++++++ Proxy's Request +++++++++ -trace_peer5.log:GET http://not_used/obj5 HTTP/1.1 [1] not firstcall, line_number: 0, result: PARENT_SPECIFIED [1] state->result: PARENT_SPECIFIED Chosen parent: ts_upstream5 +trace_peer5.log:+++++++++ Proxy's Request +++++++++ +trace_peer5.log:GET http://not_used/obj5 HTTP/1.1 trace_peer5.log:+++++++++ Proxy's Request after hooks +++++++++ trace_peer5.log:GET http://not_used/obj5 HTTP/1.1 trace_peer5.log:+++++++++ Incoming O.S. Response +++++++++ @@ -577,10 +577,10 @@ trace_peer5.log:HTTP/1.1 200 OK trace_peer5.log:+++++++++ Incoming Request +++++++++ trace_peer5.log:GET http://dummy.com/obj13 HTTP/1.1 [2] state->result: PARENT_SPECIFIED Chosen parent: ts_peer3 -trace_peer5.log:+++++++++ Proxy's Request +++++++++ -trace_peer5.log:GET http://not_used/obj13 HTTP/1.1 [2] not firstcall, line_number: 0, result: PARENT_SPECIFIED [2] state->result: PARENT_SPECIFIED Chosen parent: ts_upstream2 +trace_peer5.log:+++++++++ Proxy's Request +++++++++ +trace_peer5.log:GET http://not_used/obj13 HTTP/1.1 trace_peer5.log:+++++++++ Proxy's Request after hooks +++++++++ trace_peer5.log:GET http://not_used/obj13 HTTP/1.1 trace_peer5.log:+++++++++ Incoming O.S. Response +++++++++ @@ -594,10 +594,10 @@ trace_peer5.log:HTTP/1.1 200 OK trace_peer5.log:+++++++++ Incoming Request +++++++++ trace_peer5.log:GET http://not_used/obj14 HTTP/1.1 [3] state->result: PARENT_SPECIFIED Chosen parent: ts_upstream0 -trace_peer5.log:+++++++++ Proxy's Request +++++++++ -trace_peer5.log:GET http://also_not_used/obj14 HTTP/1.1 [3] not firstcall, line_number: 0, result: PARENT_SPECIFIED [3] state->result: PARENT_SPECIFIED Chosen parent: ts_upstream1 +trace_peer5.log:+++++++++ Proxy's Request +++++++++ +trace_peer5.log:GET http://also_not_used/obj14 HTTP/1.1 trace_peer5.log:+++++++++ Proxy's Request after hooks +++++++++ trace_peer5.log:GET http://also_not_used/obj14 HTTP/1.1 trace_peer5.log:+++++++++ Incoming O.S. Response +++++++++ @@ -621,10 +621,10 @@ trace_peer5.log:HTTP/1.1 200 OK trace_peer5.log:+++++++++ Incoming Request +++++++++ trace_peer5.log:GET http://dummy.com/obj7 HTTP/1.1 [5] state->result: PARENT_SPECIFIED Chosen parent: ts_peer0 -trace_peer5.log:+++++++++ Proxy's Request +++++++++ -trace_peer5.log:GET http://not_used/obj7 HTTP/1.1 [5] not firstcall, line_number: 0, result: PARENT_SPECIFIED [5] state->result: PARENT_SPECIFIED Chosen parent: ts_upstream5 +trace_peer5.log:+++++++++ Proxy's Request +++++++++ +trace_peer5.log:GET http://not_used/obj7 HTTP/1.1 trace_peer5.log:+++++++++ Proxy's Request after hooks +++++++++ trace_peer5.log:GET http://not_used/obj7 HTTP/1.1 trace_peer5.log:+++++++++ Incoming O.S. Response +++++++++ @@ -648,10 +648,10 @@ trace_peer5.log:HTTP/1.1 200 OK trace_peer5.log:+++++++++ Incoming Request +++++++++ trace_peer5.log:GET http://dummy.com/obj15 HTTP/1.1 [7] state->result: PARENT_SPECIFIED Chosen parent: ts_peer3 -trace_peer5.log:+++++++++ Proxy's Request +++++++++ -trace_peer5.log:GET http://not_used/obj15 HTTP/1.1 [7] not firstcall, line_number: 0, result: PARENT_SPECIFIED [7] state->result: PARENT_SPECIFIED Chosen parent: ts_upstream4 +trace_peer5.log:+++++++++ Proxy's Request +++++++++ +trace_peer5.log:GET http://not_used/obj15 HTTP/1.1 trace_peer5.log:+++++++++ Proxy's Request after hooks +++++++++ trace_peer5.log:GET http://not_used/obj15 HTTP/1.1 trace_peer5.log:+++++++++ Incoming O.S. Response +++++++++ @@ -665,10 +665,10 @@ trace_peer5.log:HTTP/1.1 200 OK trace_peer6.log:+++++++++ Incoming Request +++++++++ trace_peer6.log:GET http://dummy.com/obj6 HTTP/1.1 [0] state->result: PARENT_SPECIFIED Chosen parent: ts_peer2 -trace_peer6.log:+++++++++ Proxy's Request +++++++++ -trace_peer6.log:GET http://not_used/obj6 HTTP/1.1 [0] not firstcall, line_number: 0, result: PARENT_SPECIFIED [0] state->result: PARENT_SPECIFIED Chosen parent: ts_upstream5 +trace_peer6.log:+++++++++ Proxy's Request +++++++++ +trace_peer6.log:GET http://not_used/obj6 HTTP/1.1 trace_peer6.log:+++++++++ Proxy's Request after hooks +++++++++ trace_peer6.log:GET http://not_used/obj6 HTTP/1.1 trace_peer6.log:+++++++++ Incoming O.S. Response +++++++++ @@ -682,10 +682,10 @@ trace_peer6.log:HTTP/1.1 200 OK trace_peer6.log:+++++++++ Incoming Request +++++++++ trace_peer6.log:GET http://not_used/obj8 HTTP/1.1 [1] state->result: PARENT_SPECIFIED Chosen parent: ts_upstream0 -trace_peer6.log:+++++++++ Proxy's Request +++++++++ -trace_peer6.log:GET http://also_not_used/obj8 HTTP/1.1 [1] not firstcall, line_number: 0, result: PARENT_SPECIFIED [1] state->result: PARENT_SPECIFIED Chosen parent: ts_upstream3 +trace_peer6.log:+++++++++ Proxy's Request +++++++++ +trace_peer6.log:GET http://also_not_used/obj8 HTTP/1.1 trace_peer6.log:+++++++++ Proxy's Request after hooks +++++++++ trace_peer6.log:GET http://also_not_used/obj8 HTTP/1.1 trace_peer6.log:+++++++++ Incoming O.S. Response +++++++++ @@ -699,10 +699,10 @@ trace_peer6.log:HTTP/1.1 200 OK trace_peer6.log:+++++++++ Incoming Request +++++++++ trace_peer6.log:GET http://dummy.com/obj14 HTTP/1.1 [2] state->result: PARENT_SPECIFIED Chosen parent: ts_peer5 -trace_peer6.log:+++++++++ Proxy's Request +++++++++ -trace_peer6.log:GET http://not_used/obj14 HTTP/1.1 [2] not firstcall, line_number: 0, result: PARENT_SPECIFIED [2] state->result: PARENT_SPECIFIED Chosen parent: ts_upstream0 +trace_peer6.log:+++++++++ Proxy's Request +++++++++ +trace_peer6.log:GET http://not_used/obj14 HTTP/1.1 trace_peer6.log:+++++++++ Proxy's Request after hooks +++++++++ trace_peer6.log:GET http://not_used/obj14 HTTP/1.1 trace_peer6.log:+++++++++ Incoming O.S. Response +++++++++ @@ -716,10 +716,10 @@ trace_peer6.log:HTTP/1.1 200 OK trace_peer6.log:+++++++++ Incoming Request +++++++++ trace_peer6.log:GET http://dummy.com/obj2 HTTP/1.1 [3] state->result: PARENT_SPECIFIED Chosen parent: ts_peer7 -trace_peer6.log:+++++++++ Proxy's Request +++++++++ -trace_peer6.log:GET http://not_used/obj2 HTTP/1.1 [3] not firstcall, line_number: 0, result: PARENT_SPECIFIED [3] state->result: PARENT_SPECIFIED Chosen parent: ts_upstream5 +trace_peer6.log:+++++++++ Proxy's Request +++++++++ +trace_peer6.log:GET http://not_used/obj2 HTTP/1.1 trace_peer6.log:+++++++++ Proxy's Request after hooks +++++++++ trace_peer6.log:GET http://not_used/obj2 HTTP/1.1 trace_peer6.log:+++++++++ Incoming O.S. Response +++++++++ @@ -733,10 +733,10 @@ trace_peer6.log:HTTP/1.1 200 OK trace_peer6.log:+++++++++ Incoming Request +++++++++ trace_peer6.log:GET http://dummy.com/obj10 HTTP/1.1 [4] state->result: PARENT_SPECIFIED Chosen parent: ts_peer1 -trace_peer6.log:+++++++++ Proxy's Request +++++++++ -trace_peer6.log:GET http://not_used/obj10 HTTP/1.1 [4] not firstcall, line_number: 0, result: PARENT_SPECIFIED [4] state->result: PARENT_SPECIFIED Chosen parent: ts_upstream4 +trace_peer6.log:+++++++++ Proxy's Request +++++++++ +trace_peer6.log:GET http://not_used/obj10 HTTP/1.1 trace_peer6.log:+++++++++ Proxy's Request after hooks +++++++++ trace_peer6.log:GET http://not_used/obj10 HTTP/1.1 trace_peer6.log:+++++++++ Incoming O.S. Response +++++++++ @@ -750,10 +750,10 @@ trace_peer6.log:HTTP/1.1 200 OK trace_peer7.log:+++++++++ Incoming Request +++++++++ trace_peer7.log:GET http://not_used/obj2 HTTP/1.1 [0] state->result: PARENT_SPECIFIED Chosen parent: ts_upstream5 -trace_peer7.log:+++++++++ Proxy's Request +++++++++ -trace_peer7.log:GET http://also_not_used/obj2 HTTP/1.1 [0] not firstcall, line_number: 0, result: PARENT_SPECIFIED [0] state->result: PARENT_SPECIFIED Chosen parent: ts_upstream2 +trace_peer7.log:+++++++++ Proxy's Request +++++++++ +trace_peer7.log:GET http://also_not_used/obj2 HTTP/1.1 trace_peer7.log:+++++++++ Proxy's Request after hooks +++++++++ trace_peer7.log:GET http://also_not_used/obj2 HTTP/1.1 trace_peer7.log:+++++++++ Incoming O.S. Response +++++++++ @@ -767,10 +767,10 @@ trace_peer7.log:HTTP/1.1 200 OK trace_peer7.log:+++++++++ Incoming Request +++++++++ trace_peer7.log:GET http://dummy.com/obj7 HTTP/1.1 [1] state->result: PARENT_SPECIFIED Chosen parent: ts_peer0 -trace_peer7.log:+++++++++ Proxy's Request +++++++++ -trace_peer7.log:GET http://not_used/obj7 HTTP/1.1 [1] not firstcall, line_number: 0, result: PARENT_SPECIFIED [1] state->result: PARENT_SPECIFIED Chosen parent: ts_upstream5 +trace_peer7.log:+++++++++ Proxy's Request +++++++++ +trace_peer7.log:GET http://not_used/obj7 HTTP/1.1 trace_peer7.log:+++++++++ Proxy's Request after hooks +++++++++ trace_peer7.log:GET http://not_used/obj7 HTTP/1.1 trace_peer7.log:+++++++++ Incoming O.S. Response +++++++++ @@ -784,10 +784,10 @@ trace_peer7.log:HTTP/1.1 200 OK trace_peer7.log:+++++++++ Incoming Request +++++++++ trace_peer7.log:GET http://not_used/obj9 HTTP/1.1 [2] state->result: PARENT_SPECIFIED Chosen parent: ts_upstream0 -trace_peer7.log:+++++++++ Proxy's Request +++++++++ -trace_peer7.log:GET http://also_not_used/obj9 HTTP/1.1 [2] not firstcall, line_number: 0, result: PARENT_SPECIFIED [2] state->result: PARENT_SPECIFIED Chosen parent: ts_upstream2 +trace_peer7.log:+++++++++ Proxy's Request +++++++++ +trace_peer7.log:GET http://also_not_used/obj9 HTTP/1.1 trace_peer7.log:+++++++++ Proxy's Request after hooks +++++++++ trace_peer7.log:GET http://also_not_used/obj9 HTTP/1.1 trace_peer7.log:+++++++++ Incoming O.S. Response +++++++++ @@ -801,10 +801,10 @@ trace_peer7.log:HTTP/1.1 200 OK trace_peer7.log:+++++++++ Incoming Request +++++++++ trace_peer7.log:GET http://not_used/obj11 HTTP/1.1 [3] state->result: PARENT_SPECIFIED Chosen parent: ts_upstream2 -trace_peer7.log:+++++++++ Proxy's Request +++++++++ -trace_peer7.log:GET http://also_not_used/obj11 HTTP/1.1 [3] not firstcall, line_number: 0, result: PARENT_SPECIFIED [3] state->result: PARENT_SPECIFIED Chosen parent: ts_upstream5 +trace_peer7.log:+++++++++ Proxy's Request +++++++++ +trace_peer7.log:GET http://also_not_used/obj11 HTTP/1.1 trace_peer7.log:+++++++++ Proxy's Request after hooks +++++++++ trace_peer7.log:GET http://also_not_used/obj11 HTTP/1.1 trace_peer7.log:+++++++++ Incoming O.S. Response +++++++++ @@ -818,10 +818,10 @@ trace_peer7.log:HTTP/1.1 200 OK trace_peer7.log:+++++++++ Incoming Request +++++++++ trace_peer7.log:GET http://dummy.com/obj15 HTTP/1.1 [4] state->result: PARENT_SPECIFIED Chosen parent: ts_peer3 -trace_peer7.log:+++++++++ Proxy's Request +++++++++ -trace_peer7.log:GET http://not_used/obj15 HTTP/1.1 [4] not firstcall, line_number: 0, result: PARENT_SPECIFIED [4] state->result: PARENT_SPECIFIED Chosen parent: ts_upstream4 +trace_peer7.log:+++++++++ Proxy's Request +++++++++ +trace_peer7.log:GET http://not_used/obj15 HTTP/1.1 trace_peer7.log:+++++++++ Proxy's Request after hooks +++++++++ trace_peer7.log:GET http://not_used/obj15 HTTP/1.1 trace_peer7.log:+++++++++ Incoming O.S. Response +++++++++ @@ -845,10 +845,10 @@ trace_peer7.log:HTTP/1.1 200 OK trace_peer7.log:+++++++++ Incoming Request +++++++++ trace_peer7.log:GET http://dummy.com/obj5 HTTP/1.1 [6] state->result: PARENT_SPECIFIED Chosen parent: ts_peer2 -trace_peer7.log:+++++++++ Proxy's Request +++++++++ -trace_peer7.log:GET http://not_used/obj5 HTTP/1.1 [6] not firstcall, line_number: 0, result: PARENT_SPECIFIED [6] state->result: PARENT_SPECIFIED Chosen parent: ts_upstream5 +trace_peer7.log:+++++++++ Proxy's Request +++++++++ +trace_peer7.log:GET http://not_used/obj5 HTTP/1.1 trace_peer7.log:+++++++++ Proxy's Request after hooks +++++++++ trace_peer7.log:GET http://not_used/obj5 HTTP/1.1 trace_peer7.log:+++++++++ Incoming O.S. Response +++++++++ @@ -882,10 +882,10 @@ trace_peer7.log:HTTP/1.1 200 OK trace_peer7.log:+++++++++ Incoming Request +++++++++ trace_peer7.log:GET http://dummy.com/obj13 HTTP/1.1 [9] state->result: PARENT_SPECIFIED Chosen parent: ts_peer3 -trace_peer7.log:+++++++++ Proxy's Request +++++++++ -trace_peer7.log:GET http://not_used/obj13 HTTP/1.1 [9] not firstcall, line_number: 0, result: PARENT_SPECIFIED [9] state->result: PARENT_SPECIFIED Chosen parent: ts_upstream2 +trace_peer7.log:+++++++++ Proxy's Request +++++++++ +trace_peer7.log:GET http://not_used/obj13 HTTP/1.1 trace_peer7.log:+++++++++ Proxy's Request after hooks +++++++++ trace_peer7.log:GET http://not_used/obj13 HTTP/1.1 trace_peer7.log:+++++++++ Incoming O.S. Response +++++++++ diff --git a/tests/gold_tests/pluginTest/parent_select/peer2.trace.gold b/tests/gold_tests/pluginTest/parent_select/peer2.trace.gold index 47eee1d8356..784cf5ed7d9 100644 --- a/tests/gold_tests/pluginTest/parent_select/peer2.trace.gold +++ b/tests/gold_tests/pluginTest/parent_select/peer2.trace.gold @@ -1,9 +1,9 @@ trace_peer0.log:+++++++++ Incoming Request +++++++++ trace_peer0.log:GET http://ts_upstream0:UP_PORT0/obj0 HTTP/1.1 [0] state->result: PARENT_SPECIFIED Chosen parent: ts_peer3 +[0] not firstcall, line_number: 0, result: PARENT_SPECIFIED trace_peer0.log:+++++++++ Proxy's Request +++++++++ trace_peer0.log:GET http://ts_upstream0:UP_PORT0/obj0 HTTP/1.1 -[0] not firstcall, line_number: 0, result: PARENT_SPECIFIED trace_peer0.log:+++++++++ Proxy's Request after hooks +++++++++ trace_peer0.log:GET http://ts_upstream0:UP_PORT0/obj0 HTTP/1.1 trace_peer0.log:+++++++++ Incoming O.S. Response +++++++++ @@ -31,9 +31,9 @@ trace_peer0.log:HTTP/1.1 200 OK trace_peer0.log:+++++++++ Incoming Request +++++++++ trace_peer0.log:GET http://ts_upstream0:UP_PORT0/obj8 HTTP/1.1 [2] state->result: PARENT_SPECIFIED Chosen parent: ts_peer6 +[2] not firstcall, line_number: 0, result: PARENT_SPECIFIED trace_peer0.log:+++++++++ Proxy's Request +++++++++ trace_peer0.log:GET http://ts_upstream0:UP_PORT0/obj8 HTTP/1.1 -[2] not firstcall, line_number: 0, result: PARENT_SPECIFIED trace_peer0.log:+++++++++ Proxy's Request after hooks +++++++++ trace_peer0.log:GET http://ts_upstream0:UP_PORT0/obj8 HTTP/1.1 trace_peer0.log:+++++++++ Incoming O.S. Response +++++++++ @@ -76,9 +76,9 @@ trace_peer0.log:HTTP/1.1 200 OK trace_peer1.log:+++++++++ Incoming Request +++++++++ trace_peer1.log:GET http://ts_upstream0:UP_PORT0/obj1 HTTP/1.1 [0] state->result: PARENT_SPECIFIED Chosen parent: ts_peer5 +[0] not firstcall, line_number: 0, result: PARENT_SPECIFIED trace_peer1.log:+++++++++ Proxy's Request +++++++++ trace_peer1.log:GET http://ts_upstream0:UP_PORT0/obj1 HTTP/1.1 -[0] not firstcall, line_number: 0, result: PARENT_SPECIFIED trace_peer1.log:+++++++++ Proxy's Request after hooks +++++++++ trace_peer1.log:GET http://ts_upstream0:UP_PORT0/obj1 HTTP/1.1 trace_peer1.log:+++++++++ Incoming O.S. Response +++++++++ @@ -92,9 +92,9 @@ trace_peer1.log:HTTP/1.1 200 OK trace_peer1.log:+++++++++ Incoming Request +++++++++ trace_peer1.log:GET http://ts_upstream0:UP_PORT0/obj9 HTTP/1.1 [1] state->result: PARENT_SPECIFIED Chosen parent: ts_peer7 +[1] not firstcall, line_number: 0, result: PARENT_SPECIFIED trace_peer1.log:+++++++++ Proxy's Request +++++++++ trace_peer1.log:GET http://ts_upstream0:UP_PORT0/obj9 HTTP/1.1 -[1] not firstcall, line_number: 0, result: PARENT_SPECIFIED trace_peer1.log:+++++++++ Proxy's Request after hooks +++++++++ trace_peer1.log:GET http://ts_upstream0:UP_PORT0/obj9 HTTP/1.1 trace_peer1.log:+++++++++ Incoming O.S. Response +++++++++ @@ -122,9 +122,9 @@ trace_peer1.log:HTTP/1.1 200 OK trace_peer1.log:+++++++++ Incoming Request +++++++++ trace_peer1.log:GET http://ts_upstream0:UP_PORT0/obj3 HTTP/1.1 [3] state->result: PARENT_SPECIFIED Chosen parent: ts_peer2 +[3] not firstcall, line_number: 0, result: PARENT_SPECIFIED trace_peer1.log:+++++++++ Proxy's Request +++++++++ trace_peer1.log:GET http://ts_upstream0:UP_PORT0/obj3 HTTP/1.1 -[3] not firstcall, line_number: 0, result: PARENT_SPECIFIED trace_peer1.log:+++++++++ Proxy's Request after hooks +++++++++ trace_peer1.log:GET http://ts_upstream0:UP_PORT0/obj3 HTTP/1.1 trace_peer1.log:+++++++++ Incoming O.S. Response +++++++++ @@ -147,9 +147,9 @@ trace_peer1.log:HTTP/1.1 200 OK trace_peer1.log:+++++++++ Incoming Request +++++++++ trace_peer1.log:GET http://ts_upstream0:UP_PORT0/obj11 HTTP/1.1 [5] state->result: PARENT_SPECIFIED Chosen parent: ts_peer7 +[5] not firstcall, line_number: 0, result: PARENT_SPECIFIED trace_peer1.log:+++++++++ Proxy's Request +++++++++ trace_peer1.log:GET http://ts_upstream0:UP_PORT0/obj11 HTTP/1.1 -[5] not firstcall, line_number: 0, result: PARENT_SPECIFIED trace_peer1.log:+++++++++ Proxy's Request after hooks +++++++++ trace_peer1.log:GET http://ts_upstream0:UP_PORT0/obj11 HTTP/1.1 trace_peer1.log:+++++++++ Incoming O.S. Response +++++++++ @@ -163,9 +163,9 @@ trace_peer1.log:HTTP/1.1 200 OK trace_peer2.log:+++++++++ Incoming Request +++++++++ trace_peer2.log:GET http://ts_upstream0:UP_PORT0/obj2 HTTP/1.1 [0] state->result: PARENT_SPECIFIED Chosen parent: ts_peer7 +[0] not firstcall, line_number: 0, result: PARENT_SPECIFIED trace_peer2.log:+++++++++ Proxy's Request +++++++++ trace_peer2.log:GET http://ts_upstream0:UP_PORT0/obj2 HTTP/1.1 -[0] not firstcall, line_number: 0, result: PARENT_SPECIFIED trace_peer2.log:+++++++++ Proxy's Request after hooks +++++++++ trace_peer2.log:GET http://ts_upstream0:UP_PORT0/obj2 HTTP/1.1 trace_peer2.log:+++++++++ Incoming O.S. Response +++++++++ @@ -235,9 +235,9 @@ trace_peer2.log:HTTP/1.1 200 OK trace_peer2.log:+++++++++ Incoming Request +++++++++ trace_peer2.log:GET http://ts_upstream0:UP_PORT0/obj10 HTTP/1.1 [5] state->result: PARENT_SPECIFIED Chosen parent: ts_peer1 +[5] not firstcall, line_number: 0, result: PARENT_SPECIFIED trace_peer2.log:+++++++++ Proxy's Request +++++++++ trace_peer2.log:GET http://ts_upstream0:UP_PORT0/obj10 HTTP/1.1 -[5] not firstcall, line_number: 0, result: PARENT_SPECIFIED trace_peer2.log:+++++++++ Proxy's Request after hooks +++++++++ trace_peer2.log:GET http://ts_upstream0:UP_PORT0/obj10 HTTP/1.1 trace_peer2.log:+++++++++ Incoming O.S. Response +++++++++ @@ -292,9 +292,9 @@ trace_peer2.log:HTTP/1.1 200 OK trace_peer2.log:+++++++++ Incoming Request +++++++++ trace_peer2.log:GET http://ts_upstream0:UP_PORT0/obj14 HTTP/1.1 [10] state->result: PARENT_SPECIFIED Chosen parent: ts_peer5 +[10] not firstcall, line_number: 0, result: PARENT_SPECIFIED trace_peer2.log:+++++++++ Proxy's Request +++++++++ trace_peer2.log:GET http://ts_upstream0:UP_PORT0/obj14 HTTP/1.1 -[10] not firstcall, line_number: 0, result: PARENT_SPECIFIED trace_peer2.log:+++++++++ Proxy's Request after hooks +++++++++ trace_peer2.log:GET http://ts_upstream0:UP_PORT0/obj14 HTTP/1.1 trace_peer2.log:+++++++++ Incoming O.S. Response +++++++++ @@ -322,9 +322,9 @@ trace_peer3.log:HTTP/1.1 200 OK trace_peer3.log:+++++++++ Incoming Request +++++++++ trace_peer3.log:GET http://ts_upstream0:UP_PORT0/obj3 HTTP/1.1 [1] state->result: PARENT_SPECIFIED Chosen parent: ts_peer2 +[1] not firstcall, line_number: 0, result: PARENT_SPECIFIED trace_peer3.log:+++++++++ Proxy's Request +++++++++ trace_peer3.log:GET http://ts_upstream0:UP_PORT0/obj3 HTTP/1.1 -[1] not firstcall, line_number: 0, result: PARENT_SPECIFIED trace_peer3.log:+++++++++ Proxy's Request after hooks +++++++++ trace_peer3.log:GET http://ts_upstream0:UP_PORT0/obj3 HTTP/1.1 trace_peer3.log:+++++++++ Incoming O.S. Response +++++++++ @@ -338,9 +338,9 @@ trace_peer3.log:HTTP/1.1 200 OK trace_peer3.log:+++++++++ Incoming Request +++++++++ trace_peer3.log:GET http://ts_upstream0:UP_PORT0/obj11 HTTP/1.1 [2] state->result: PARENT_SPECIFIED Chosen parent: ts_peer7 +[2] not firstcall, line_number: 0, result: PARENT_SPECIFIED trace_peer3.log:+++++++++ Proxy's Request +++++++++ trace_peer3.log:GET http://ts_upstream0:UP_PORT0/obj11 HTTP/1.1 -[2] not firstcall, line_number: 0, result: PARENT_SPECIFIED trace_peer3.log:+++++++++ Proxy's Request after hooks +++++++++ trace_peer3.log:GET http://ts_upstream0:UP_PORT0/obj11 HTTP/1.1 trace_peer3.log:+++++++++ Incoming O.S. Response +++++++++ @@ -382,9 +382,9 @@ trace_peer3.log:HTTP/1.1 200 OK trace_peer3.log:+++++++++ Incoming Request +++++++++ trace_peer3.log:GET http://ts_upstream0:UP_PORT0/obj1 HTTP/1.1 [5] state->result: PARENT_SPECIFIED Chosen parent: ts_peer5 +[5] not firstcall, line_number: 0, result: PARENT_SPECIFIED trace_peer3.log:+++++++++ Proxy's Request +++++++++ trace_peer3.log:GET http://ts_upstream0:UP_PORT0/obj1 HTTP/1.1 -[5] not firstcall, line_number: 0, result: PARENT_SPECIFIED trace_peer3.log:+++++++++ Proxy's Request after hooks +++++++++ trace_peer3.log:GET http://ts_upstream0:UP_PORT0/obj1 HTTP/1.1 trace_peer3.log:+++++++++ Incoming O.S. Response +++++++++ @@ -398,9 +398,9 @@ trace_peer3.log:HTTP/1.1 200 OK trace_peer3.log:+++++++++ Incoming Request +++++++++ trace_peer3.log:GET http://ts_upstream0:UP_PORT0/obj9 HTTP/1.1 [6] state->result: PARENT_SPECIFIED Chosen parent: ts_peer7 +[6] not firstcall, line_number: 0, result: PARENT_SPECIFIED trace_peer3.log:+++++++++ Proxy's Request +++++++++ trace_peer3.log:GET http://ts_upstream0:UP_PORT0/obj9 HTTP/1.1 -[6] not firstcall, line_number: 0, result: PARENT_SPECIFIED trace_peer3.log:+++++++++ Proxy's Request after hooks +++++++++ trace_peer3.log:GET http://ts_upstream0:UP_PORT0/obj9 HTTP/1.1 trace_peer3.log:+++++++++ Incoming O.S. Response +++++++++ @@ -432,9 +432,9 @@ trace_peer3.log:HTTP/1.1 200 OK trace_peer4.log:+++++++++ Incoming Request +++++++++ trace_peer4.log:GET http://ts_upstream0:UP_PORT0/obj4 HTTP/1.1 [0] state->result: PARENT_SPECIFIED Chosen parent: ts_peer2 +[0] not firstcall, line_number: 0, result: PARENT_SPECIFIED trace_peer4.log:+++++++++ Proxy's Request +++++++++ trace_peer4.log:GET http://ts_upstream0:UP_PORT0/obj4 HTTP/1.1 -[0] not firstcall, line_number: 0, result: PARENT_SPECIFIED trace_peer4.log:+++++++++ Proxy's Request after hooks +++++++++ trace_peer4.log:GET http://ts_upstream0:UP_PORT0/obj4 HTTP/1.1 trace_peer4.log:+++++++++ Incoming O.S. Response +++++++++ @@ -448,9 +448,9 @@ trace_peer4.log:HTTP/1.1 200 OK trace_peer4.log:+++++++++ Incoming Request +++++++++ trace_peer4.log:GET http://ts_upstream0:UP_PORT0/obj12 HTTP/1.1 [1] state->result: PARENT_SPECIFIED Chosen parent: ts_peer2 +[1] not firstcall, line_number: 0, result: PARENT_SPECIFIED trace_peer4.log:+++++++++ Proxy's Request +++++++++ trace_peer4.log:GET http://ts_upstream0:UP_PORT0/obj12 HTTP/1.1 -[1] not firstcall, line_number: 0, result: PARENT_SPECIFIED trace_peer4.log:+++++++++ Proxy's Request after hooks +++++++++ trace_peer4.log:GET http://ts_upstream0:UP_PORT0/obj12 HTTP/1.1 trace_peer4.log:+++++++++ Incoming O.S. Response +++++++++ @@ -498,9 +498,9 @@ trace_peer5.log:HTTP/1.1 200 OK trace_peer5.log:+++++++++ Incoming Request +++++++++ trace_peer5.log:GET http://ts_upstream0:UP_PORT0/obj5 HTTP/1.1 [1] state->result: PARENT_SPECIFIED Chosen parent: ts_peer2 +[1] not firstcall, line_number: 0, result: PARENT_SPECIFIED trace_peer5.log:+++++++++ Proxy's Request +++++++++ trace_peer5.log:GET http://ts_upstream0:UP_PORT0/obj5 HTTP/1.1 -[1] not firstcall, line_number: 0, result: PARENT_SPECIFIED trace_peer5.log:+++++++++ Proxy's Request after hooks +++++++++ trace_peer5.log:GET http://ts_upstream0:UP_PORT0/obj5 HTTP/1.1 trace_peer5.log:+++++++++ Incoming O.S. Response +++++++++ @@ -514,9 +514,9 @@ trace_peer5.log:HTTP/1.1 200 OK trace_peer5.log:+++++++++ Incoming Request +++++++++ trace_peer5.log:GET http://ts_upstream0:UP_PORT0/obj13 HTTP/1.1 [2] state->result: PARENT_SPECIFIED Chosen parent: ts_peer3 +[2] not firstcall, line_number: 0, result: PARENT_SPECIFIED trace_peer5.log:+++++++++ Proxy's Request +++++++++ trace_peer5.log:GET http://ts_upstream0:UP_PORT0/obj13 HTTP/1.1 -[2] not firstcall, line_number: 0, result: PARENT_SPECIFIED trace_peer5.log:+++++++++ Proxy's Request after hooks +++++++++ trace_peer5.log:GET http://ts_upstream0:UP_PORT0/obj13 HTTP/1.1 trace_peer5.log:+++++++++ Incoming O.S. Response +++++++++ @@ -553,9 +553,9 @@ trace_peer5.log:HTTP/1.1 200 OK trace_peer5.log:+++++++++ Incoming Request +++++++++ trace_peer5.log:GET http://ts_upstream0:UP_PORT0/obj7 HTTP/1.1 [5] state->result: PARENT_SPECIFIED Chosen parent: ts_peer0 +[5] not firstcall, line_number: 0, result: PARENT_SPECIFIED trace_peer5.log:+++++++++ Proxy's Request +++++++++ trace_peer5.log:GET http://ts_upstream0:UP_PORT0/obj7 HTTP/1.1 -[5] not firstcall, line_number: 0, result: PARENT_SPECIFIED trace_peer5.log:+++++++++ Proxy's Request after hooks +++++++++ trace_peer5.log:GET http://ts_upstream0:UP_PORT0/obj7 HTTP/1.1 trace_peer5.log:+++++++++ Incoming O.S. Response +++++++++ @@ -578,9 +578,9 @@ trace_peer5.log:HTTP/1.1 200 OK trace_peer5.log:+++++++++ Incoming Request +++++++++ trace_peer5.log:GET http://ts_upstream0:UP_PORT0/obj15 HTTP/1.1 [7] state->result: PARENT_SPECIFIED Chosen parent: ts_peer3 +[7] not firstcall, line_number: 0, result: PARENT_SPECIFIED trace_peer5.log:+++++++++ Proxy's Request +++++++++ trace_peer5.log:GET http://ts_upstream0:UP_PORT0/obj15 HTTP/1.1 -[7] not firstcall, line_number: 0, result: PARENT_SPECIFIED trace_peer5.log:+++++++++ Proxy's Request after hooks +++++++++ trace_peer5.log:GET http://ts_upstream0:UP_PORT0/obj15 HTTP/1.1 trace_peer5.log:+++++++++ Incoming O.S. Response +++++++++ @@ -594,9 +594,9 @@ trace_peer5.log:HTTP/1.1 200 OK trace_peer6.log:+++++++++ Incoming Request +++++++++ trace_peer6.log:GET http://ts_upstream0:UP_PORT0/obj6 HTTP/1.1 [0] state->result: PARENT_SPECIFIED Chosen parent: ts_peer2 +[0] not firstcall, line_number: 0, result: PARENT_SPECIFIED trace_peer6.log:+++++++++ Proxy's Request +++++++++ trace_peer6.log:GET http://ts_upstream0:UP_PORT0/obj6 HTTP/1.1 -[0] not firstcall, line_number: 0, result: PARENT_SPECIFIED trace_peer6.log:+++++++++ Proxy's Request after hooks +++++++++ trace_peer6.log:GET http://ts_upstream0:UP_PORT0/obj6 HTTP/1.1 trace_peer6.log:+++++++++ Incoming O.S. Response +++++++++ @@ -624,9 +624,9 @@ trace_peer6.log:HTTP/1.1 200 OK trace_peer6.log:+++++++++ Incoming Request +++++++++ trace_peer6.log:GET http://ts_upstream0:UP_PORT0/obj14 HTTP/1.1 [2] state->result: PARENT_SPECIFIED Chosen parent: ts_peer5 +[2] not firstcall, line_number: 0, result: PARENT_SPECIFIED trace_peer6.log:+++++++++ Proxy's Request +++++++++ trace_peer6.log:GET http://ts_upstream0:UP_PORT0/obj14 HTTP/1.1 -[2] not firstcall, line_number: 0, result: PARENT_SPECIFIED trace_peer6.log:+++++++++ Proxy's Request after hooks +++++++++ trace_peer6.log:GET http://ts_upstream0:UP_PORT0/obj14 HTTP/1.1 trace_peer6.log:+++++++++ Incoming O.S. Response +++++++++ @@ -640,9 +640,9 @@ trace_peer6.log:HTTP/1.1 200 OK trace_peer6.log:+++++++++ Incoming Request +++++++++ trace_peer6.log:GET http://ts_upstream0:UP_PORT0/obj2 HTTP/1.1 [3] state->result: PARENT_SPECIFIED Chosen parent: ts_peer7 +[3] not firstcall, line_number: 0, result: PARENT_SPECIFIED trace_peer6.log:+++++++++ Proxy's Request +++++++++ trace_peer6.log:GET http://ts_upstream0:UP_PORT0/obj2 HTTP/1.1 -[3] not firstcall, line_number: 0, result: PARENT_SPECIFIED trace_peer6.log:+++++++++ Proxy's Request after hooks +++++++++ trace_peer6.log:GET http://ts_upstream0:UP_PORT0/obj2 HTTP/1.1 trace_peer6.log:+++++++++ Incoming O.S. Response +++++++++ @@ -656,9 +656,9 @@ trace_peer6.log:HTTP/1.1 200 OK trace_peer6.log:+++++++++ Incoming Request +++++++++ trace_peer6.log:GET http://ts_upstream0:UP_PORT0/obj10 HTTP/1.1 [4] state->result: PARENT_SPECIFIED Chosen parent: ts_peer1 +[4] not firstcall, line_number: 0, result: PARENT_SPECIFIED trace_peer6.log:+++++++++ Proxy's Request +++++++++ trace_peer6.log:GET http://ts_upstream0:UP_PORT0/obj10 HTTP/1.1 -[4] not firstcall, line_number: 0, result: PARENT_SPECIFIED trace_peer6.log:+++++++++ Proxy's Request after hooks +++++++++ trace_peer6.log:GET http://ts_upstream0:UP_PORT0/obj10 HTTP/1.1 trace_peer6.log:+++++++++ Incoming O.S. Response +++++++++ @@ -686,9 +686,9 @@ trace_peer7.log:HTTP/1.1 200 OK trace_peer7.log:+++++++++ Incoming Request +++++++++ trace_peer7.log:GET http://ts_upstream0:UP_PORT0/obj7 HTTP/1.1 [1] state->result: PARENT_SPECIFIED Chosen parent: ts_peer0 +[1] not firstcall, line_number: 0, result: PARENT_SPECIFIED trace_peer7.log:+++++++++ Proxy's Request +++++++++ trace_peer7.log:GET http://ts_upstream0:UP_PORT0/obj7 HTTP/1.1 -[1] not firstcall, line_number: 0, result: PARENT_SPECIFIED trace_peer7.log:+++++++++ Proxy's Request after hooks +++++++++ trace_peer7.log:GET http://ts_upstream0:UP_PORT0/obj7 HTTP/1.1 trace_peer7.log:+++++++++ Incoming O.S. Response +++++++++ @@ -730,9 +730,9 @@ trace_peer7.log:HTTP/1.1 200 OK trace_peer7.log:+++++++++ Incoming Request +++++++++ trace_peer7.log:GET http://ts_upstream0:UP_PORT0/obj15 HTTP/1.1 [4] state->result: PARENT_SPECIFIED Chosen parent: ts_peer3 +[4] not firstcall, line_number: 0, result: PARENT_SPECIFIED trace_peer7.log:+++++++++ Proxy's Request +++++++++ trace_peer7.log:GET http://ts_upstream0:UP_PORT0/obj15 HTTP/1.1 -[4] not firstcall, line_number: 0, result: PARENT_SPECIFIED trace_peer7.log:+++++++++ Proxy's Request after hooks +++++++++ trace_peer7.log:GET http://ts_upstream0:UP_PORT0/obj15 HTTP/1.1 trace_peer7.log:+++++++++ Incoming O.S. Response +++++++++ @@ -755,9 +755,9 @@ trace_peer7.log:HTTP/1.1 200 OK trace_peer7.log:+++++++++ Incoming Request +++++++++ trace_peer7.log:GET http://ts_upstream0:UP_PORT0/obj5 HTTP/1.1 [6] state->result: PARENT_SPECIFIED Chosen parent: ts_peer2 +[6] not firstcall, line_number: 0, result: PARENT_SPECIFIED trace_peer7.log:+++++++++ Proxy's Request +++++++++ trace_peer7.log:GET http://ts_upstream0:UP_PORT0/obj5 HTTP/1.1 -[6] not firstcall, line_number: 0, result: PARENT_SPECIFIED trace_peer7.log:+++++++++ Proxy's Request after hooks +++++++++ trace_peer7.log:GET http://ts_upstream0:UP_PORT0/obj5 HTTP/1.1 trace_peer7.log:+++++++++ Incoming O.S. Response +++++++++ @@ -789,9 +789,9 @@ trace_peer7.log:HTTP/1.1 200 OK trace_peer7.log:+++++++++ Incoming Request +++++++++ trace_peer7.log:GET http://ts_upstream0:UP_PORT0/obj13 HTTP/1.1 [9] state->result: PARENT_SPECIFIED Chosen parent: ts_peer3 +[9] not firstcall, line_number: 0, result: PARENT_SPECIFIED trace_peer7.log:+++++++++ Proxy's Request +++++++++ trace_peer7.log:GET http://ts_upstream0:UP_PORT0/obj13 HTTP/1.1 -[9] not firstcall, line_number: 0, result: PARENT_SPECIFIED trace_peer7.log:+++++++++ Proxy's Request after hooks +++++++++ trace_peer7.log:GET http://ts_upstream0:UP_PORT0/obj13 HTTP/1.1 trace_peer7.log:+++++++++ Incoming O.S. Response +++++++++