CALL FOR:
 Introducing MySQL fallback for clustered MySQL configurations in the
JDBC module (MMBase 1.8)

If all goes well, we (EO) will migrate from Informix to MySQL soon. In
order to have a high-available storage solution with MySQL, we are
implementing master-master replication. You can call it a cluster if
you want; it's just only two database-servers which replicate their
changes to eachother.

In order to maximise the use of this, I would like MMBase to
automatically switch to the other database as soon as a database error
occurs. We are still using the old JDBC MMBase module, and since this
module already supports multiple connectionpools, it's just a matter
of switching pools.

A overview of the code I changed:

- org/mmbase/module/database/
 JDBC.java
 MultiPool.java
 MultiPoolHandler.java
Added support for switching pools: the 'jdbcHost' private variable in
JDBC.java points to the currently active database, and this variable
will be changed when a MultiPool receives an error.
Configuration goes through the '<hosts>' element of jdbc.xml, which
may now be a comma-seperated list of database servers.

- org/mmbase/core/event/
 DatabaseEvent.java
 DatabaseEventBroker.java
 DatabaseEventListener.java
Added a new event that can be propagated to other MMBase servers in
the cluster, to notify them that the cluster should switch to the
other database.

- html/mmbase/admin/admin/*
Enhanced the 'databases' tab in the admin pages, that allows you to
see which pool is active and allows you to choose a pool.

Besides this code, I am also writing a document with information about
mysql master-master replication and MMBase; this will be included with
the hack.

We want to run this in production relatively soon, so therefore I
would like to commit this to the stable branch.

START OF VOTING:   2006-12-04 14:00
END OF CALL:       2006-12-07 14:00

[_] +1 (YES)
[_] +0 (ABSTAIN )
[_] -1 (NO), because :
[_] VETO, because:

Johannes
--
Mail: mailto:[EMAIL PROTECTED]
Web: http://www.verelst.net
Blog: http://keukenhelden.nl/johannes
_______________________________________________
Developers mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/developers

Reply via email to