On Wed, 2006-05-10 at 16:14 -0500, Fran Fabrizio wrote:
I have a Maildir folder with 38,000 messages (it is my Spam folder, naturally :-). In Thunderbird 1.5.0.2, if I click on that folder, it slowly but steadily downloads the headers and after 3-4 minutes, shows me the contents. So far, so good. If I then select all the messages and click Delete to delete them, that operation times out after about 1 minute. If I then click on my Trash folder after some number of minutes has passed, I see that those messages are now both in my Trash and in the original folder - I believe this is because Thunderbird first asks for a COPY over to Trash, and then asks for a STORE +FLAG \\Deleted on the copy that is still in the original folder. It appears that the COPY commands are working but the STORE commands are not since the connection is timing out before they run.
maildir_copy_with_hardlinks=yes will probably help you here.
I thought I'd try on another mail client, so I tried Squirrelmail. I set it to show 1000 messages per page. It does this just fine. Then I set it to 4,000 messages per page. Then I click on a folder with 12,000 messages, and I get this:
ERROR: Connection dropped by IMAP server. Query: SORT (ARRIVAL) ISO-8859-1 ALL
Well, this makes it stat() all the files. I don't think it should take too long even for 12000 messages though.. Although you could simulate this by doing a "du" for the maildir and see how long it takes.
However after the first time this is done, Dovecot should have cached the results to cache file and the following SORTs should be fast.
Note that the timeouts happened when the server was doing a COPY and when the server was doing a SORT but not when the client was downloading 38,000 headers.
That's because when downloading the mail the client sees data coming all the time.