hi guys,
 
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
 
  thread 2 may update t1 before thread 1, then it will fail. maybe thread 2 can retry sever times ,but it don't solve this problem compeletly..
 
2013-07-11

nanyi607rao