On Wed, Jun 07, 2006 at 04:04:57PM +0300, Timo Sirainen wrote:
For multi-master operation the only difficult part is how to allocate UIDs for messages. They always need to be ascending, so there would have to be a global pool where they're allocated from. In case the global pool isn't available, it gets trickier. I guess the UIDs should somehow be temporarily allocated and when all masters are again connected, the conflicting UIDs would have to be reassigned to new UIDs.
See
http://dev.mysql.com/doc/refman/5.0/en/replication-auto-increment.html
for MySQL's solution to multi-master auto-increment (did someone say MySQL doesn't do multi-master? I've never tested it, but the link is in 5.0 docs, and 5.1 is out).
This deals with non-conflicting UIDs, but I'm not sure about how the "ascending" UID restriction would cope with one master being queried when the other is non connected/non up-to-date.