"nanyi607rao" <[email protected]> writes: > I find a bug of ding-qing parallel replication. > > let's consider a table like this: > > create table t1( > a int(11) NOT NULL DEFAULT '0', > b varchar(10), > PRIMARY KEY (a) > )ENGINE=InnoDB > > if we do transactions on master(binlog_format=ROW) like this: > trans 1: > begin; > insert into t1 values(1, "tt"); > update t1 set a=2 where a=1; > commit; > trans 2; > begin; > update t1 set b="kk" where a=2; > commit; > > then this two transactions binlog transmit to the slave, because trans 1 and > trnas 2 has different primary keys, it would disaptch in different threads > like this: > thread 1 do trans 1 > thread 2 do trans 2
I wonder if this problem is because the code does not detect that trans 1 accesses both primary key values a=1 and a=2? If so, it should be possible to fix. For an UPDATE statement, the row events have both the before image (with a=1) and the after image (with a=2). Maybe there is a bug in the current code that it does not look in the after image? (I am still very interested in adding this feature to MariaDB. Unfortunately I have been too busy with two other big tasks, hopefully once they are done I can get back to this one). - Kristian. _______________________________________________ Mailing list: https://launchpad.net/~maria-developers Post to : [email protected] Unsubscribe : https://launchpad.net/~maria-developers More help : https://help.launchpad.net/ListHelp

