--------------------- PatchSet 7217 Date: 2006/02/24 04:04:17 Author: hno Branch: collapsed_forwarding-2_5 Tag: (none) Log: Catch a few corner cases where collapsed forwarding would not collapse requests - Object not yet cached - Connect took long time, combined with server taking long time to generate header Members: src/client_side.c:1.47.2.31.4.23->1.47.2.31.4.24 src/forward.c:1.13.6.3.6.6->1.13.6.3.6.7 Index: squid/src/client_side.c =================================================================== RCS file: /cvsroot/squid-sf//squid/src/client_side.c,v retrieving revision 1.47.2.31.4.23 retrieving revision 1.47.2.31.4.24 diff -u -r1.47.2.31.4.23 -r1.47.2.31.4.24 --- squid/src/client_side.c 23 Feb 2006 21:11:52 -0000 1.47.2.31.4.23 +++ squid/src/client_side.c 24 Feb 2006 04:04:17 -0000 1.47.2.31.4.24 @@ -1,6 +1,6 @@ /* - * $Id: client_side.c,v 1.47.2.31.4.23 2006/02/23 21:11:52 hno Exp $ + * $Id: client_side.c,v 1.47.2.31.4.24 2006/02/24 04:04:17 hno Exp $ * * DEBUG: section 33 Client-side Routines * AUTHOR: Duane Wessels @@ -2609,8 +2609,10 @@ } assert(http->out.offset == 0); http->entry = clientCreateStoreEntry(http, r->method, r->flags); - if (Config.onoff.collapsed_forwarding && r->flags.cachable && !r->flags.need_validation && (r->method = METHOD_GET || r->method == METHOD_HEAD)) + if (Config.onoff.collapsed_forwarding && r->flags.cachable && !r->flags.need_validation && (r->method = METHOD_GET || r->method == METHOD_HEAD)) { + http->entry->mem_obj->refresh_timestamp = squid_curtime; storeSetPublicKey(http->entry); + } if (http->redirect.status) { HttpReply *rep = httpReplyCreate(); #if LOG_TCP_REDIRECTS Index: squid/src/forward.c =================================================================== RCS file: /cvsroot/squid-sf//squid/src/forward.c,v retrieving revision 1.13.6.3.6.6 retrieving revision 1.13.6.3.6.7 diff -u -r1.13.6.3.6.6 -r1.13.6.3.6.7 --- squid/src/forward.c 23 Feb 2006 21:11:52 -0000 1.13.6.3.6.6 +++ squid/src/forward.c 24 Feb 2006 04:04:21 -0000 1.13.6.3.6.7 @@ -1,6 +1,6 @@ /* - * $Id: forward.c,v 1.13.6.3.6.6 2006/02/23 21:11:52 hno Exp $ + * $Id: forward.c,v 1.13.6.3.6.7 2006/02/24 04:04:21 hno Exp $ * * DEBUG: section 17 Request Forwarding * AUTHOR: Duane Wessels @@ -483,6 +483,7 @@ assert(entry->lock_count); EBIT_SET(entry->flags, ENTRY_DISPATCHED); netdbPingSite(request->host); + entry->mem_obj->refresh_timestamp = squid_curtime; /* * Assert that server_fd is set. This is to guarantee that fwdState * is attached to something and will be deallocated when server_fd