On Wed, 2008-07-02 at 11:01 +0100, Mark Zealey wrote:
Now what I discovered in testing a particularly problematic user with an 800mb cur directory (under v1.1.1; I have never used v1.0 on this mbox but it was converted with your courier convert script); initially they had the following:
drwx------ 2 exim exim 2048 Apr 11 2007 courierimapkeywords -rw-r--r-- 1 exim exim 47 Apr 22 15:56 courierimapsubscribed -rw-r--r-- 1 exim exim 142493 Jun 23 19:57 courierimapuiddb -rw-r--r-- 1 exim exim 195309 Jun 24 18:52 courierpop3dsizelist drwx------ 2 exim exim 499712 Jul 2 10:35 cur -rw------- 1 exim exim 20912 Jul 2 10:51 dovecot.index -rw------- 1 exim exim 33056 Jun 17 17:34 dovecot.index.cache -rw------- 1 exim exim 31336 Jul 2 10:37 dovecot.index.log -rw------- 1 exim exim 158465 Jul 2 10:13 dovecot-uidlist drwx------ 2 exim exim 4096 Jul 2 10:29 new -rw------- 1 exim exim 23 Jun 24 22:49 subscriptions drwx------ 2 exim exim 2048 Jul 2 10:42 tmp
As you can see, the cache file is very old, and the uidlist file is behind the last time that the logged in (which was 10:35). When I log in over pop and do a stat/list, it re-reads everything in cur/new but didn't update the dovecot-uidlist file or the index.cache file (the log file is updated though). Dovecot-uidlist file does not have the extra W= tags in it. I removed the dovecot.index.cache file and performed the same login/stat/list operation and logged out, and suddenly the dovecot-uidlist file was updated to the new v1.1 format, and the directory listing looks like:
I guess you didn't happen to save the original dovecot.index.cache file? The problem probably is related to what fields were originally cached, but I can't reproduce this.