"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