[dovecot-cvs] dovecot TODO,1.26,1.27
cras at procontrol.fi
cras at procontrol.fi
Mon Nov 25 21:02:51 EET 2002
Update of /home/cvs/dovecot
In directory danu:/tmp/cvs-serv2991
Modified Files:
TODO
Log Message:
Locking changes triggered a bit larger cleanup :) If we have to wait for a
lock longer, the client is now notified about it every 30 seconds. Also if
mailbox opening fails because of lock timeout, we won't overwrite the index
anymore. Finally user gets a clear error message about lock timeout instead
of "internal error".
Index: TODO
===================================================================
RCS file: /home/cvs/dovecot/TODO,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -d -r1.26 -r1.27
--- TODO 22 Nov 2002 13:55:59 -0000 1.26
+++ TODO 25 Nov 2002 19:02:49 -0000 1.27
@@ -2,6 +2,8 @@
- maildir: if mail file isn't found, it may be because it was renamed
(flag changed). we must then sync the directory and see again if the mail
is found
+ - we may override mbox dotlock file, but then get stuck at fcntl/flock.
+ we should check for those before overriding the mbox lock..
- mail-lockdir.c isn't 100% safe.. stale locks are detected by checking
that hard link count is 1, then it's unlink()ed. but what if another
process did the same unlink() + creat() in the middle of our
@@ -21,10 +23,7 @@
the old file.. and check that deleting file does "inconsistency error"
- if imap process notices that both modify logs are getting full because
it's client isn't syncing, the client should be disconnected
- - if opening indexes fails because we timeout while trying to lock it, we
- recreate the indexes. that's not very good idea .. also does it do that
- even if .customflags can't be locked? it's not really related to
- indexes..
+ - what happens if .customflags can't be locked while opening index?
- checks:
- if we have entries in modifylog with UID 10..11, 9..12, 8..13 etc.
@@ -36,13 +35,7 @@
- make sure connection limits work
- enhancements:
- - "* NO Stale mailbox lock file detected, will override in xx seconds",
- "* NO Mailbox is locked, will abort in xx seconds",
- "* NO Mailbox index is locked, will abort in xx seconds"
- - before even considering this, check that we can do fcntl() locking
- - don't give internal error to user but "mailbox is locked" or
- "index is locked" when we can't do something because of locking
- - optionally don't fail if index is locked, but build it in memory
+ - optionally don't fail if index is locked, but build it in memory
- when fetching body/envelope/etc we could try to cache it immediately if
we can get lock with try_lock.
- optionally use only in-memory indexes
More information about the dovecot-cvs
mailing list