[Dovecot] sluggish updating of gnome mail-notification?
Sorry if this is a repeat query.
I am running dovecot 1.0.2 under NetBSD/i386 (3.1 and 4.0ish). I use maildirs, and deliver into them with procmail. For clients I use Gnus (CVS head) mostly and thunderbird, and also the gnome mail-notification status applet (4.0).
Gnus fixed a bug in the last few months where exiting a group didn't unselect the folder and thus didn't necessarily push read marks back.
Mostly everything works perfectly. When new mail arrives, thunderbird shows it as new/unread, gnus will find it with 'g', and mail-notification shows it as well. After reading it in gnus, when I exit the group (which pushes read marks to the IMAP server), thunderbird usually shows the message as read immediately, but often mail-notification waits for a while (up to about a minute) before withdrawing the new-mail notification.
I just tried this and thunderbird was also slow in showing the mail read. marking the message read in thunderbird caused mail-notification to show the message as read, but with a 30s lag.
mail-notification is supposed to use IDLE if available. Sometimes it withdraws new-mail claims at the right time.
I know that I need to turn on debugging and trace all this. So I'm really just asking if anyone else has seen this or similar behavior.
On 19.7.2007, at 19.58, Greg Troxel wrote:
Gnus fixed a bug in the last few months where exiting a group didn't unselect the folder and thus didn't necessarily push read marks back.
"push read marks back"? With mboxes the message flags aren't written
to mbox file until CHECK, EXPUNGE, UNSELECT, SELECT or LOGOUT
command, but as long as you're using Dovecot's index files other
Dovecot instances will see the changes immediately. Or are you saying
that Gnus doesn't send flag changes to server at all before it
unselects the mailbox?
I just tried this and thunderbird was also slow in showing the mail read. marking the message read in thunderbird caused mail- notification to show the message as read, but with a 30s lag.
mail-notification is supposed to use IDLE if available. Sometimes it withdraws new-mail claims at the right time.
This setting controls how often Dovecot checks for changes:
#mailbox_idle_check_interval = 30
With Maildir you should be able to notice the changes immediately if
you compiled with --with-notify=kqueue. It should actually work with
mboxes too, except there's an extra check that prevents it from working:
src/lib/ioloop-notify-kqueue.c:
if (fstat(fd, &sb) < 0) {
i_error("fstat(%d, %s) for kq notify failed: %m",
fd, path); (void)close(fd); return NULL; } if (!S_ISDIR(sb.st_mode)) { (void)close(fd); return NULL; }
Removing all this code would help. I guess I should do that change to
v1.0.3 too.
participants (2)
-
Greg Troxel
-
Timo Sirainen