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
