Bug #41591 ndb transactions replicated to a transactional slave leaves slave unstable .
Submitted: 18 Dec 2008 14:51 Modified: 7 Jun 2009 13:34
Reporter: wang xiaolin Email Updates:
Status: No Feedback Impact on me:
None 
Category:MySQL Cluster: Replication Severity:S3 (Non-critical)
Version:mysql-5.1-telco-6.2 OS:Linux
Assigned to: CPU Architecture:Any
Tags: innodb, mysql-5.1.23-telco-6.2.15, RBR, transaction .Cluster

[18 Dec 2008 14:51] wang xiaolin
Description:

hi all:

  I meet a quite strange thing .
  The result is quite same with :http://bugs.mysql.com/bug.php?id=29288.

  The different with my bug is :
  Master : ndb engine .
  Slave  : innodb engine .

the same error log  :
[ERROR] Slave: Error 'Can't execute the given command because you have
active locked tables or an active transaction' on query.

the detail ,pls follow me :

1)My MySQL version:
  5.1.23-ndb-6.2.15 .
2)Row-Based Replication between Cluster and MySQL Server.
  Master :
    Cluster  (3 SQL Node, 2 Data Node,1 Mgm Node).
      SQL1 Node is the replication Master ,all the slave's master-host is his IP.
      we have some ndb tables ,and also some innodb tables .
  
   Slave :
     MySQL Server , all the table is innodb .

  two tables:
  Master  ------------->  Slave
  ndbtable(ndb)           ndbtable (innodb)
  innodbtable(innodb)     innodbtable (innodb)

3)after resart the Master's MySQL .

5)do some inserts into ndbtable on Master .
  the record inserted into the slave's ndbtable  immediately .
  it is ok .

6)do some insert into innodbtable on Master .
  the record inserted into the slave's innodbtable immediately .
  it is also ok !

7)repeat step 5),
  do some inserts into ndbtable on Master .
  the records will NEVER inserted into the slave's ndbtable  .
   
  I checked the slave status by ,show slave status, the binlog position is right .
  but , show innodb status ,I FOUND these information :

   ---TRANSACTION 0 4336656, ACTIVE 2709 sec, process no 12574, OS thread id 2125912224
   1 lock struct(s), heap size 320, 0 row lock(s), undo log entries 201
   MySQL thread id 1349, query id 21665 Has read all relay log; waiting for the slave I/O thread to update it

  if I truncate or drop table the ndbtable on slave , I will get the ERROR log above.

8)I do step 6),
  do some insert into innodbtable on Master .
  the innodbtable's record is right and 
  the ndb record is right TOO .

So , I guess  It must have some bug with ROW-BASED Replication in 
     replication with some tables ndb_to_innodb  and some tables innodb_to_innodb .

How to repeat:
see  http://bugs.mysql.com/bug.php?id=29288 .

the difference is master's  ndb table   to  innodb tables .
[4 Feb 2009 15:32] Susanne Ebrecht
changed category to cluster.
[7 May 2009 13:34] Jonathan Miller
Can you please retry a later version (7.0)
[7 Jun 2009 23:00] Bugs System
No feedback was provided for this bug for over a month, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".