Bug #28170 replicate-ignore-db=mysql should not ignore mysql.ndb_apply_status
Submitted: 30 Apr 2007 19:24 Modified: 20 Feb 2008 21:59
Reporter: Jonathan Miller Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Cluster: Replication Severity:S3 (Non-critical)
Version:5.1-telco OS:Linux (32 Bit)
Assigned to: Magnus BlÄudd CPU Architecture:Any

[30 Apr 2007 19:24] Jonathan Miller
Description:
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 21
Server version: 5.1.15-ndb-6.1.7-log Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> select * from mysql.ndb_apply_status;
Empty set (0.05 sec)

mysql> show create table mysql.ndb_apply_status;
+------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table            | Create Table                                                                                               |
+------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| ndb_apply_status | CREATE TABLE `ndb_apply_status` (
  `server_id` int(10) unsigned NOT NULL,
  `epoch` bigint(20) unsigned NOT NULL,
  `log_name` varchar(255) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL,
  `start_pos` bigint(20) unsigned NOT NULL,
  `end_pos` bigint(20) unsigned NOT NULL,
  PRIMARY KEY (`server_id`) USING HASH
) ENGINE=ndbcluster DEFAULT CHARSET=latin1 |
+------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.01 sec)

mysql> select * from mysql.ndb_apply_status;
Empty set (0.00 sec)

mysql>

How to repeat:
Run transactions in cluster replication and check ndb_apply_status table.

Suggested fix:
update with last applied epoch
[7 May 2007 23:09] Jonathan Miller
With replication-ignore-db=mysql all updated to mysql.ndb_apply_status are lost. The mysql.ndb_apply_status should never be ignored.

The above use to not be an issue until ndb_apply_status was moved under the mysql database.
[9 May 2007 3:07] Jon Stephens
So is the behaviour described in the Synopsis a bug or not? Don't understand why this is closed, unless this is designated as intentional.
[9 May 2007 3:28] Jonathan Miller
Not sure how it got closed.
[23 Oct 2007 11:26] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/36121

ChangeSet@1.2581, 2007-10-23 13:26:02+02:00, msvensson@shellback.(none) +2 -0
  Bug#28170 replicate-ignore-db=mysql should not ignore mysql.ndb_apply_status
   - Add test case
[1 Nov 2007 21:45] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/36926

ChangeSet@1.2582, 2007-11-01 22:45:31+01:00, msvensson@shellback.(none) +3 -0
  Bug#28170 replicate-ignore-db=mysql should not ignore mysql.ndb_apply_status
   - Add test case
[2 Nov 2007 12:07] Bugs System
A patch for this bug has been committed. After review, it may
be pushed to the relevant source trees for release in the next
version. You can access the patch from:

  http://lists.mysql.com/commits/36983

ChangeSet@1.2581, 2007-11-02 13:07:14+01:00, msvensson@shellback.(none) +3 -0
  Bug#28170 replicate-ignore-db=mysql should not ignore mysql.ndb_apply_status
   - Add test case
  ---
  Bug#28170 replicate-ignore-db=mysql should not ignore mysql.ndb_apply_status
   - Add test case
[12 Feb 2008 12:51] Jon Stephens
Documented in the 5.1.23-ndb-6.3.9 changelog as follows:

        Setting --replicate-ignore-db=mysql caused the
        mysql.ndb_apply_status table not to be
        replicated, breaking Cluster Replication.

Left in PQ status pending further merges.
[12 Feb 2008 16:01] Jon Stephens
Also documented for 5.1.23-ndb-6.2.12.
[20 Feb 2008 16:03] Bugs System
Pushed into 5.1.24-rc
[20 Feb 2008 16:04] Bugs System
Pushed into 6.0.5-alpha
[20 Feb 2008 21:59] Jon Stephens
Also documented for 5.1.24 and 6.0.5.