There have been a couple of PRs opened against this.  I believe the condition
arises when the server is configured as a proxy gateway (aka reverse proxy) and
multiple processes are serving the same backend file at the same time. Only one
of the processes will actually succeed at saving the file, the others will fail
with the message "[error] (17)File exists: proxy: error linking cache file ...".
Changing the message level from APLOG_ERR to APLOG_INFO will keep this message
out of the logs w/o major overhaul of this code. Any objections to committing
this to 1.3?

$ cvs diff -u proxy_cache.c
Index: proxy_cache.c
===================================================================
RCS file: /home/cvs/apache-1.3/src/modules/proxy/proxy_cache.c,v
retrieving revision 1.89
diff -u -r1.89 proxy_cache.c
--- proxy_cache.c       5 Sep 2002 19:53:35 -0000       1.89
+++ proxy_cache.c       9 Dec 2002 18:56:17 -0000
@@ -1799,7 +1799,7 @@
 #else

         if (link(c->tempfile, c->filename) == -1)
-            ap_log_error(APLOG_MARK, APLOG_ERR, s,
+            ap_log_error(APLOG_MARK, APLOG_INFO, s,
                          "proxy: error linking cache file %s to %s",
                          c->tempfile, c->filename);
         if (unlink(c->tempfile) == -1)
$

Reply via email to