Hello,

I wonder why is a "fatal" function called when the statuscache backend
can't be opened. This makes the process terminate (then fork again,
then terminate, then...). This is not logical, because statuscache
is... a cache ! Cyrus should work fine without (and actually, it does,
with the patch attached).

As we use an sql backend for statuscache, when the sql server is not
available, we prefer that cyrus-imapd works without cache than a total
breakdown.

-- 
Cyril
--- imap/statuscache_db.c	30 Mar 2009 07:52:37 -0000	1.1.1.2
+++ imap/statuscache_db.c	4 Nov 2009 10:17:11 -0000
@@ -94,7 +94,7 @@
     if (ret != 0) {
 	syslog(LOG_ERR, "DBERROR: opening %s: %s", fname,
 	       cyrusdb_strerror(ret));
+	syslog(LOG_ERR, "statuscache in degraded mode");
- 	fatal("can't read statuscache file", EC_TEMPFAIL);
     }    
 
     if (tofree) free(tofree);

Reply via email to