On Sat, Apr 28, 2012 at 7:31 AM, Daniel Nichter <dan...@percona.com> wrote: > I was reviewing the filtered_replicator code and I found that the plugin > removes filtered queries from the transaction event. I haven't tested it, > but it seems that if table foo is being filtered, then this transaction, >
I didn't look at code and generally don't know anything about this beyond what you write... [Executed on master] > update foo set ... > insert into bar ... > > becomes simply, [executed on slave] > > insert into bar ... > > That seems odd to me because 1) the same transaction has two contents (on the > master it has 2 statements, on the slave it will have 1) Isn't this what is supposed to happen? I mean, the point of filtering is that operations that match some rule are not replicated, and others are. > and 2) if statement 2 uses data created/modified by statement 1 but statement > 1 is filtered then statement 2 will fail or worse. > Not for row-based-replication, which I've understood that Drizzle replication is. Row based replication will just insert the same thing into bar, regardless whether foo exists or not. > I would not expect a _filter_ to modify things, especially not the contents > of transactions. Is it just too late for me to be coding, or does anyone > else agree that filtered_replicator is doing something very bad? > I would expect a filtered replicator to modify the contents of a replication stream. I wouldn't expect it to modify the transaction as it executes on the master, but I read your mail as if that is not happening. henrik -- henrik.i...@avoinelama.fi +358-40-8211286 skype: henrik.ingo irc: hingo www.openlife.cc My LinkedIn profile: http://www.linkedin.com/profile/view?id=9522559 _______________________________________________ Mailing list: https://launchpad.net/~drizzle-discuss Post to : drizzle-discuss@lists.launchpad.net Unsubscribe : https://launchpad.net/~drizzle-discuss More help : https://help.launchpad.net/ListHelp