Cyrus IMAPd 2.3.12 Released

Simon Matter simon.matter at invoca.ch
Thu Apr 24 06:43:47 EDT 2008


> I am pleased to announce the release of Cyrus IMAPd 2.3.12.  This
> release should be considered production quality.
>
>
> Noteworthy changes:
>
> * Added statuscache.db to cache IMAP STATUS data which
> significantly reduces the amount of I/O necessary when neither the
> mailbox nor \Seen state has changed -- courtesy of Fastmail.fm

While upgrading my RPM packages I found that logging is too noisy for my
taste. I get alot of syslog messages like so:

Apr 24 11:35:30 test imap[10457]: statuscache, 'user.simix', 'simix',
'0x13', 'yes'

and

Apr 24 11:59:13 test imap[17299]: skiplist:
/var/lib/imap/user/s/simix.seen is already open 1 time, returning object

I wanted to change things so that those logs are only generated with
CYRUS_VERBOSE > 1 but that seems not be intended for syslog calls other
than from the standalone programs like master.c, make_md5.c and so. I
finally simply disabled those calls I considered too much:

--- cyrus-imapd-2.3.12/lib/cyrusdb_skiplist.c.orig      2008-04-09
19:56:57.000000000 +0200
+++ cyrus-imapd-2.3.12/lib/cyrusdb_skiplist.c   2008-04-24
12:10:24.000000000 +0200
@@ -751,8 +751,8 @@
     }
     if (list_ent) {
        /* we already have this DB open! */
-       syslog(LOG_NOTICE, "skiplist: %s is already open %d time%s,
returning object",
-       fname, list_ent->refcount, list_ent->refcount == 1 ? "" : "s");
+       /* syslog(LOG_NOTICE, "skiplist: %s is already open %d time%s,
returning object",
+       fname, list_ent->refcount, list_ent->refcount == 1 ? "" : "s"); */
        *ret = list_ent->db;
        ++list_ent->refcount;
        return 0;
--- cyrus-imapd-2.3.12/imap/index.c.orig        2008-03-24
18:09:17.000000000 +0100
+++ cyrus-imapd-2.3.12/imap/index.c     2008-04-24 11:25:28.000000000 +0200
@@ -1573,13 +1573,13 @@
         */

        if (!r) {
-           syslog(LOG_DEBUG, "statuscache, '%s', '%s', '0x%02x', 'yes'",
-                  mboxname, imapd_userid, statusitems);
+           /* syslog(LOG_DEBUG, "statuscache, '%s', '%s', '0x%02x', 'yes'",
+                  mboxname, imapd_userid, statusitems); */
            goto statusdone;
        }

-       syslog(LOG_DEBUG, "statuscache, '%s', '%s', '0x%02x', 'no'",
-              mboxname, imapd_userid, statusitems);
+       /* syslog(LOG_DEBUG, "statuscache, '%s', '%s', '0x%02x', 'no'",
+              mboxname, imapd_userid, statusitems); */
     }

     /* Missing or invalid cache entry */


With those changes the logging quantity is almost the same like with
2.3.11, not ten times more.

Statuscache: I have intended to enable statuscache by default in the RPM
and configure it to skiplist be default. (As usual, the imapd.conf manpage
states that those changes are RPM specific!)
Do I have to expect any troubles with this setup? Unfortunately I don't
have a really large server anymore to test with thousands of users and
very large storage. Bron?

Regards,
Simon



More information about the Info-cyrus mailing list