On Thu, 2005-07-21 at 17:55 -0400, Mordechai T. Abzug wrote: > Following up to myself with clarifications and corrections: > > On Wed, Jul 20, 2005 at 12:23:24AM -0400, Mordechai T. Abzug wrote: > > > (S5) Each time an email arrives at a server (via SMTP or IMAP, not via > > replication), the server generates a new UID using scheme from > > part (S1) that is greater than any value currently in high_saved, > > for any server. Then, for each server_id other than itself, it > > creates a row in process_message_queue. Then, update high_saved > > with the new UID. > > Clarification: the new UID must be greater than any value currently > KNOWN LOCALLY in high_saved. Because of race conditions or network > outages, the local high_saved table might be out-of-date with respect > to other servers. That's OK, we'll compensate for it later.
No. It must be greater than any value known to any client. If a client connects to host A then host B that both have the same UIDVALIDITY but host A has a gap where host B has a message, that client will NEVER download that message from host B. > > (S7) When the user client connects and wants the last UID, first > > perform step (S6). > > Correction: first perform step (S6) for the mailbox in question; don't > need to waste time cleaning out the whole message table. Clients don't want UIDs, they don't ever get allocated UIDs, I don't understand this. -- Internet Connection High Quality Web Hosting http://www.internetconnection.net/