[Dovecot] v1.1.alpha4 released / about dbox

Timo Sirainen tss at iki.fi
Sat Sep 8 04:08:18 EEST 2007


http://dovecot.org/releases/1.1/alpha/dovecot-1.1.alpha4.tar.gz
http://dovecot.org/releases/1.1/alpha/dovecot-1.1.alpha4.tar.gz.sig

Lots of fixes since alpha3. Also includes the dbox rewrite. Currently
dbox works properly only in one-message-per-file mode. I'm not actually
even sure how good idea it would be to use it with
multiple-messages-per-file mode. But I guess it won't hurt to finish its
implementation and see. :)

As you can see I haven't been replying much to the mailing list lately.
My school started again, which meant that I had to start sleeping again
at night instead of at day :) Doing that always takes a few weeks of
feeling too tired to get much of anything done. Hopefully that goes away
soon.

A bit more about dbox:

Originally I had thought that it'd be good to have multiple messages per
file. The bad thing about that is that it works badly without fcntl
locks, which don't work all that great with NFS. So I changed my plans a
bit so that dbox also supports one-message-per-file behavior where it
doesn't need locking much. (Multiple-messages-per-file is still
supported by the format, but currently the code is not fully working.)

dbox files begin with a header, then they have the message data and at
the end of file there's a metadata block. Metadata contains things like
message flags, keywords, received date and so on.

When a flag/keyword is updated, the change is normally done only to
index files. This is why dovecot.index and dovecot.index.log files are
important with dbox format, they contain flag changes that haven't been
written anywhere else.

But since there's still a chance that index files could break (although
v1.1 tries harder than v1.0 to fix problems), it would be nice if the
flags/keywords were written to metadata block once in a while. So if the
index files are lost, flag changes wouldn't be completely lost. Metadata
updates of course use disk I/O so they shouldn't be done too often.

I was thinking that the metadata could be updated:

- if IMAP connection has been idling for 4 hours (not changing flags)
- when closing mailbox and there are changes older than 4h
- immediately if there are changes older than 24h (whenever mailbox is
being synced, e.g. SELECT/NOOP/STATUS)

Or something like that. Those rules can of course be changed, but I'm
not sure if I should bother making them configurable from dovecot.conf.
There are already too many settings.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : http://dovecot.org/pipermail/dovecot/attachments/20070908/a198de1d/attachment.bin 


More information about the dovecot mailing list