I've been researching the addition of imap QRESYNC to Thunderbird. I've noticed that Zimbra has some issues that I don't see with other servers like Dovecot or Cyrus which also support QRESYNC.
A problem with Zimbra is that when a lot of messages are imap APPENDED to a mailbox, the UIDs assigned to them are not always consecutive. This causes zimbra to report the missing UIDs as VANISHED on a new imap SELECT of the mailbox due to missing or skipped UIDs. With a large append of 1000's of messages, it appears that Zimbra does not use about every 7th UID, leaving lots of 1 message (1 UID) gaps.
As another example, say the UIDs in mailbox A are initially 1 to 100 and 100 is the highest UID in any mailbox. Then if I APPEND 100 messages to mailbox B, it will assign UIDs 101 to 200 to the messages. Then if I APPEND 100 more messages to mailbox A, they will be assigned UIDs 201 to 300, leaving a "gap" of 100 UIDs in mailbox A. Messages 101:200 in mailbox A will be reported as VANISHED on a new SELECT.
Also, when messages are truly EXPUNGED, it appears the Zimbra does not really respect the MODSEQ supplied to the SELECT command and just reports all missing UIDs as VANISHED and not just those expunged after the supplied MODSEQ.
A problem with Zimbra is that when a lot of messages are imap APPENDED to a mailbox, the UIDs assigned to them are not always consecutive. This causes zimbra to report the missing UIDs as VANISHED on a new imap SELECT of the mailbox due to missing or skipped UIDs. With a large append of 1000's of messages, it appears that Zimbra does not use about every 7th UID, leaving lots of 1 message (1 UID) gaps.
As another example, say the UIDs in mailbox A are initially 1 to 100 and 100 is the highest UID in any mailbox. Then if I APPEND 100 messages to mailbox B, it will assign UIDs 101 to 200 to the messages. Then if I APPEND 100 more messages to mailbox A, they will be assigned UIDs 201 to 300, leaving a "gap" of 100 UIDs in mailbox A. Messages 101:200 in mailbox A will be reported as VANISHED on a new SELECT.
Also, when messages are truly EXPUNGED, it appears the Zimbra does not really respect the MODSEQ supplied to the SELECT command and just reports all missing UIDs as VANISHED and not just those expunged after the supplied MODSEQ.
Statistics: Posted by gds — Tue Nov 16, 2021 7:48 pm