I'll use this thread to talk out loud about MaildirQueue as I begin to
implement it.

The first thing is that although I mentioned on the Wiki that this
queue format would be Maildir++ compatible, upon further
investigation[¹], it appears more substantially different from Maildir
than I expected.  Compatible, but still quite different.  So I'm
thinking that for now, I'll just implement a vanilla Maildir, and if
demand for Maildir++ is there, I'll add that as a separate queue
format.

The other question - to lock or not to lock?  It appears that in
practice, Maildir has some issues[²] with lockless operation.
Dovecot's Maildir[³] does locking while doing modifications to a
Maildir or while looking for new messages in it.  TMDA decides whether
a message has already been confirmed or not by looking in the pending
queue for it, and deletes messages once they have been confirmed, so
an accurate picture of which files exist and don't in the Maildir is
important.  The question is whether we need to implement locking to
insure this.  For performance reasons, no locking would be preferable.
Anyone have thoughts on this?

Footnotes: 
[¹] http://www.inter7.com/courierimap/README.maildirquota.html
[²] http://en.wikipedia.org/wiki/Maildir#Issues_with_lockless_operation
[³] http://wiki.dovecot.org/MailboxFormat/Maildir

_________________________________________________
tmda-workers mailing list ([email protected])
http://tmda.net/lists/listinfo/tmda-workers

Reply via email to