I guess my concern with this is rather than ignoring errors, shouldn't they be dealt with in some way.
Aka update_on_duplicate_key=yes/no verus just ignoring it. Granted dup keys should exist if the right offsets are user in the tables but.... David Murphy From: drizzle-discuss-bounces+david.murphy=rackspace....@lists.launchpad.net [mailto:drizzle-discuss-bounces+david.murphy=rackspace....@lists.launchpad.net] On Behalf Of Planet Drizzle Sent: Saturday, March 19, 2011 5:00 PM To: [email protected] Subject: [Drizzle-discuss] David Shrewsbury: Multi-Master Support in Drizzle Replication David Shrewsbury: Multi-Master Support in Drizzle Replication<http://dshrewsbury.blogspot.com/2011/03/multi-master-support-in-drizzle.html> So Brian<http://krow.livejournal.com/> asked me the other day what it would take to support multiple masters in our new Drizzle slave plugin. Not master to master replication, but multiple masters sending replication events to a single slave that simply ignores any conflicts and just chugs along. I told him I didn't know, but considering how simple the code is, it probably wouldn't take much. To get a better understanding of what exactly would be involved in supporting multiple masters, I decided to just start hacking it up. I did this mainly to get a sense of what would need to be changed, since my original design didn't allow for this at all. (Shortsightedness on my part I suppose.) So I have a beta version of my results available in this Launchpad branch: lp:~dshrews/drizzle/beta-multi-master >From my simple tests, it seems to work. I'm not real happy with the code (like >I! said, this was a hack), but functionality is there. I'm not promising this >will go into Drizzle trunk just yet. I would like to make some improvements on >it, and I'd really like to get some feedback from people on it. To use it, you'll first need to create a modified slave configuration file. Here is a sample one: ignore-errors [master1] master-host = foo.my.domain master-port = 3306 master-user = user1 master-pass = password [master2] master-host = bar.my.domain master-port = 3306 master-user = user2 master-pass = password Currently, a total of 10 masters are supported. This was an arbitrary number. It was simplest to just predetermine a set number of masters due to some complications with config file parsing which I wasn't prepared to solve (this is one of the things I want to see fixed). One IO thread per master will be started, though we still use a si! ngle applier thread for the time being. You'll notice in th e sample config a new option, ignore-errors. If this option is present, the slave ignores any errors from replication events received from the masters that it executes locally. I highly recommend you have this option enabled. Also note the addition of the [master1] and [master2] sections that define options for each master. You can go all the way to a [master10] section. Nothing changes with how you start your slave or masters (see my post on setting up a simple replication example<http://dshrewsbury.blogspot.com/2011/03/simple-drizzle-replication-example.html>). Give it a try and let me know how it works for you. Again, this is bleeding edge stuff (does any other database support this? :) ), so be prepared for bugs. URL: http://dshrewsbury.blogspot.com/2011/03/multi-master-support-in-drizzle.html Confidentiality Notice: This e-mail message (including any attached or embedded documents) is intended for the exclusive and confidential use of the individual or entity to which this message is addressed, and unless otherwise expressly indicated, is confidential and privileged information of Rackspace. Any dissemination, distribution or copying of the enclosed material is prohibited. If you receive this transmission in error, please notify us immediately by e-mail at [email protected], and delete the original message. Your cooperation is appreciated.
_______________________________________________ Mailing list: https://launchpad.net/~drizzle-discuss Post to : [email protected] Unsubscribe : https://launchpad.net/~drizzle-discuss More help : https://help.launchpad.net/ListHelp

