One more thing.... below

> Development Ideas:
>
> 1. The message-id could be removed from the db and just
> calculated on a mailbox list request. Its just their
> sequence.
>
> 2. The unique-id could be calculated with a
> date/time/sec/millsec base combined with a machine id
> added to the dbmail configuration to assure ascending and
> unique.



This would allow for many machines to commit to their
local mailstore with syncing handled by multi-master mysql
replication.

It would require that system clocks were in sync to
maintain the correct ascending order.

To handle the unlikely event that two messages were
written to the same mailbox(folder) in the same
millisecond for a specific user.. each machine could have
its own 3 digit id that could be appended to the end of
the unique id... keeping the correct sequence withouth any
possibility of overlap.

Example showing message ids that do not collide on two
machines using a machine id 001 or 002 received at the
same time.

- machine 001 msg - received at 2004/09/02 2:10:45:27
    - unique_id = 2004090202104527001

- machine 002 msg - received at 2004/09/02 2:10:45:27
    - unique_id = 2004090202104527002



In this scenario either machine could go down before the
message was replicated to the other. When it came back up
and the synced again it could commit it without problems.


- Kevin

Reply via email to