Hello, Back to work, after a few days recovering from a little trencher incident...
As for the idea presented here, using a status id for "not yet complete" messages - the pop3 server does this already, using status 5, but imap does not - it instead uses an empty unique_id (ie. '') to handle the same thing, from what I've seen. I don't see any problems (eg. pop3 session disreguards messages with unique_id=''), but it would be a bit more efficient and less confusing to be consistent in what a partially inserted message looks like. I plan on making a small util.c with a create_unique_id function, as it needs to be included in more than just dbmail-smtp. Seems overkill to have a dedicated file, and there's no such "misc. utility functions" file yet, so... ---- Original Message ---- From: Jesse Norell <[email protected]> To: [email protected] Subject: [Dbmail-dev] message status 4 Sent: Tue, 10 Jun 2003 09:07:06 -0600 (MDT) > > Hello, > > In implimenting a unique_id fix, in several issues in the past, and > in message insertion in general, it seems appropriate to have a > message status that basically just means 'not yet processed/complete,' > for which I propose using message status = 4 (which isn't used > anywhere, right?). I believe all the existing code should handle > that without change (ie. if status is 4, it won't show in any > mailboxes, get cleaned by maintenance, etc.), so there should be no > migration problems unless someone uses status 4 locally (which a > trivial db update can fix). > > This would make things like the "message inserted, but not yet > filtered" race condition Aaron was going to have to address a while > back easy - just insert all messages with status = 4, do whatever > processing, and update to 2 when the message is fully processed. > It would fix a race condition in the current insertion code where a > message actually changes unique_id and another where the messages > table entry exists, but messageblk entries do not yet (ie. if > messages entry was inserted, then a user checks POP3 before > messageblk is inserted, it'll hang OE waiting for data, till a > timeout period, then error). > > Sound good / any objections (particularly from IC&S)? > > Jesse > > > -- > Jesse Norell > jesse (at) kci.net > > > _______________________________________________ > Dbmail-dev mailing list > [email protected] > http://twister.fastxs.net/mailman/listinfo/dbmail-dev > -- End Original Message -- -- Jesse Norell jesse (at) kci.net
