"Duarte Cordeiro" writes:
>> Probably it decided your parent cache is down.
>
>  and what can I do to prevent this ? :)
Try this patch:
Index: neighbors.c
===================================================================
RCS file: /surf1/CVS/squid/src/neighbors.c,v
retrieving revision 1.122.2.27
diff -w -u -r1.122.2.27 neighbors.c
--- neighbors.c	1997/11/01 01:34:19	1.122.2.27
+++ neighbors.c	1998/09/10 16:16:27
@@ -336,6 +336,20 @@
 }
 
 peer *
+getAnyParent(request_t * request)
+{
+    peer *e = NULL;
+    for (e = Peers.peers_head; e; e = e->next) {
+	if (neighborType(e, request) != PEER_PARENT)
+	    continue;
+	if (!peerHTTPOkay(e, request))
+	    continue;
+	break;
+    }
+    return e;
+}
+
+peer *
 getRoundRobinParent(request_t * request)
 {
     peer *e;
Index: proto.c
===================================================================
RCS file: /surf1/CVS/squid/src/Attic/proto.c,v
retrieving revision 1.96.2.20
diff -w -u -r1.96.2.20 proto.c
--- proto.c	1997/12/09 22:24:57	1.96.2.20
+++ proto.c	1998/09/10 16:15:38
@@ -242,11 +242,14 @@
         } else if ((e = getFirstUpParent(protoData->request))) {
             hierarchyNote(req, HIER_FIRSTUP_PARENT, 0, e->host);
             protoStart(protoData->fd, entry, e, req);
+	} else if ((e == getAnyParent(protoData->request)) {
+	    hierarchyNote(req, HIER_DEFAULT_PARENT, 0, e->host);
+	    protoStart(protoData->fd, entry, e, req);
         } else {
             hierarchyNote(req, HIER_NO_DIRECT_FAIL, 0, req->host);
             protoCantFetchObject(protoData->fd,
                 entry,
-		"No peers to query "
+		"No parents can accept this request, "
                 "and the host is beyond your firewall.");
         }
         return;
Received on Thu Sep 10 1998 - 09:18:42 MDT
This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:41:56 MST