[Dovecot] Status update
I'm leaving soon and I'll be away until sunday. Sorry about not replying to all mails yet, most of them are somewhat tricky and require some time to reply (other than "I don't know").
The new index code for v1.1 seems to be finally working pretty nicely. After 9 hours of running imaptest I haven't gotten a single error yet. I'll leave it running until I'm back.
The new code makes the internal index file design a lot easier to understand. For v1.0 I just wanted to get it working and I didn't dare try to clean up the code, so it was kind of magic sometimes why it worked. :) All that magic is finally gone and I understand completely how everything is supposed to work (and hopefully also how it does work).
Most important problem with the new code is that \Recent flags are completely broken. I think they're not completely correctly working in v1.0 either, or at least I'm not sure why they're working even as well as they are now..
Maildir syncing in v1.1 is also a bit bad. For example EXPUNGE command could have to be given twice to get it to work. Again it worked badly with v1.0 also but since the index code worked differently it wasn't visible.
Cydir is a pretty nice format for stress testing index code. It's really lightweight so it's practically testing only the index code. Because of it I've found a couple of race conditions in the code that existed also in v1.0 tree (v1.0.2 will fix them). My earlier stress testing with maildir never saw those problems, probably because with maildir there was a lot of other code running as well so the race condition was really unlikely to hit.
participants (1)
-
Timo Sirainen