From: Norman R. <nr...@cs...> - 2023-11-07 23:14:28
|
> thanks for a thorough report. What you are writing looks strange, and I > looked through the relevant source files (imap.c, driver.c, transact.c), > around the expunge_period variable, and it is confusing. There do not > appear to be strange patches inside Debian's package tracker, and I > think I will need to debug a bit deeper. Normally, Dovecot is also > well-behaved as a server and rather efficient, but if the host system is > under I/O strain and using mbox-like mailbox storage, it may be > inefficient with expunges because it might rewrite the mbox without the > expunged single message again and again - but then again the mailbox has > some mere 30 kByte in 10 messages, so that should not be it... I worked with my best sysadmin this morning, and he confirmed that on our Dovecot configuration, EXPUNGE can be expected to be slow. I did poke at the source code for `imap.c`, but I did not figure out where the expunges might be coming from. Worst case I suppose I could try to find or build a debug binary and run it under gdb, see what the stack trace looks like when `internal_expunge` is being called. But I'm hoping there might be an easier path. > Can you send only the .fetchmailrc part on imap.eecs.tufts.edu *without > password* so it's more concise to see? It looks like this: ``` poll imap.eecs.tufts.edu protocol imap: user "nr" there is "nr" here mda "/home/nr/lib/osbf-mda" fetchall expunge 500; ``` Norman |