On 05-03-14 03:12, Lee Howard wrote:
> I am running dbmail 3.0.2 in a MySQL multi-master (2) replication
> configuration.
> 
> I understand that this will work fine as long as the IMAP unique_id does
> not become invalid due to the same user connecting to both nodes
> concurrently or because of a failure in the replication and the user
> connecting to both nodes during the fault.

It's not just concurrent connections by the same user, iirc. Basically,
IMAP relies on consistency at the storage level. Any change to a mailbox
or message should be visible in the same way to all connected clients.
However, in case of asynchronous replication that becomes just about
impossible: no way to tell if the slave has caught up with the master.

One proposal was to introduce a token-passing mechanism that would be
used to implement two-phased commit style transactions at the
application layer: ask the broker to generate a new primary key which
doesn't return until it was successfully inserted on all the
participating nodes. Given the complexity of such a solution it was
never actually attempted. Of course, now we're 10 years later and there
are some good tools to build such stuff, but also, two-phase commits are
now provided by most rdbm systems.

> I understand that a proposed resolution to these issues is discussed here:
> 
> http://www.dbmail.org/dokuwiki/doku.php/unique_id_guid

That page references a lot of email threads urls that are no longer
available. But yes, this was discussed quite extensively.

> Can someone confirm that this *is* the current status of full support
> for complete multi-head database replication?  Namely, "that this is the
> last thing holding DBMail back from a complete failover system using
> MySQL replication"?  (Quoted from the URL'ed page.)

No idea who wrote that.

> I am willing to pay for this development to be done... if someone here
> would like to do it.  Any takers?  Let me know how much you want for the
> work.  Otherwise, I am willing to do the development, myself, pointers
> appreciated.

I would put my money on synchronous replication. So mariadb or mysqldb
with galera.

http://codership.com/content/using-galera-cluster


-- 
________________________________________________________________
Paul J Stevens       pjstevns @ gmail, twitter, github, linkedin
           www.nfg.nl/i...@nfg.nl/+31.85.877.99.97
_______________________________________________
Dbmail-dev mailing list
Dbmail-dev@dbmail.org
http://mailman.fastxs.nl/cgi-bin/mailman/listinfo/dbmail-dev

Reply via email to