Description:
You have a table on the master cluster that is being replicated.
You delete a row from that table and the slave is updates.
if you use mysql> source .file to delete from and repopulate the table on the master with
all the rows including the deleted one, the table on the master will have all the rows
back, but the slave still is missing the row that had been deleted earlier.
How to repeat:
1) setup a master cluster and a slave cluster.
2) create a database > "create database gotoslave;"
3) switch to that database > "use gotoslave;"
4) create a table called matable >
"Create Table: CREATE TABLE `matable` (
`nid` int(11) NOT NULL default '0',
`nom` char(4) default NULL,
`prenom` char(4) default NULL,
PRIMARY KEY (`nid`)
) ENGINE=ndbcluster DEFAULT CHARSET=latin1"
5) master > source ./file2;
6) master > select * from matable order by nid;
+-----+------+--------+
| nid | nom | prenom |
+-----+------+--------+
| 1 | XYZ1 | ABC1 |
| 2 | XYZ2 | ABC2 |
| 3 | XYZ3 | ABC3 |
| 4 | XYZ4 | ABC4 |
| 5 | XYZ5 | ABC5 |
| 6 | XYZ6 | ABC6 |
| 7 | XYZ7 | ABC7 |
| 8 | XYZ8 | ABC8 |
| 9 | XYZ9 | ABC9 |
+-----+------+--------+
7) slave> select * from matable order by nid;
+-----+------+--------+
| nid | nom | prenom |
+-----+------+--------+
| 1 | XYZ1 | ABC1 |
| 2 | XYZ2 | ABC2 |
| 3 | XYZ3 | ABC3 |
| 4 | XYZ4 | ABC4 |
| 5 | XYZ5 | ABC5 |
| 6 | XYZ6 | ABC6 |
| 7 | XYZ7 | ABC7 |
| 8 | XYZ8 | ABC8 |
| 9 | XYZ9 | ABC9 |
+-----+------+--------+
8) master> delete from matable where nid=3;
Query OK, 1 row affected (0.00 sec)
9) master> select * from matable order by nid;
+-----+------+--------+
| nid | nom | prenom |
+-----+------+--------+
| 1 | XYZ1 | ABC1 |
| 2 | XYZ2 | ABC2 |
| 4 | XYZ4 | ABC4 |
| 5 | XYZ5 | ABC5 |
| 6 | XYZ6 | ABC6 |
| 7 | XYZ7 | ABC7 |
| 8 | XYZ8 | ABC8 |
| 9 | XYZ9 | ABC9 |
+-----+------+--------+
8 rows in set (0.04 sec)
10) slave> select * from matable order by nid;
+-----+------+--------+
| nid | nom | prenom |
+-----+------+--------+
| 1 | XYZ1 | ABC1 |
| 2 | XYZ2 | ABC2 |
| 4 | XYZ4 | ABC4 |
| 5 | XYZ5 | ABC5 |
| 6 | XYZ6 | ABC6 |
| 7 | XYZ7 | ABC7 |
| 8 | XYZ8 | ABC8 |
| 9 | XYZ9 | ABC9 |
+-----+------+--------+
8 rows in set (0.04 sec)
11) master> source ./file1;
Query OK, 8 rows affected (0.04 sec)
Query OK, 1 row affected (0.00 sec)
Query OK, 1 row affected (0.00 sec)
Query OK, 1 row affected (0.00 sec)
Query OK, 1 row affected (0.00 sec)
Query OK, 1 row affected (0.00 sec)
Query OK, 1 row affected (0.00 sec)
Query OK, 1 row affected (0.00 sec)
Query OK, 1 row affected (0.01 sec)
Query OK, 1 row affected (0.00 sec)
12) master> select * from matable order by nid;
+-----+------+--------+
| nid | nom | prenom |
+-----+------+--------+
| 1 | XYZ1 | ABC1 |
| 2 | XYZ2 | ABC2 |
| 3 | XYZ3 | ABC3 |
| 4 | XYZ4 | ABC4 |
| 5 | XYZ5 | ABC5 |
| 6 | XYZ6 | ABC6 |
| 7 | XYZ7 | ABC7 |
| 8 | XYZ8 | ABC8 |
| 9 | XYZ9 | ABC9 |
+-----+------+--------+
9 rows in set (0.04 sec)
13) slave> select * from matable order by nid;
+-----+------+--------+
| nid | nom | prenom |
+-----+------+--------+
| 1 | XYZ1 | ABC1 |
| 2 | XYZ2 | ABC2 |
| 4 | XYZ4 | ABC4 |
| 5 | XYZ5 | ABC5 |
| 6 | XYZ6 | ABC6 |
| 7 | XYZ7 | ABC7 |
| 8 | XYZ8 | ABC8 |
| 9 | XYZ9 | ABC9 |
+-----+------+--------+
8 rows in set (0.04 sec)
NOTE: row 3 is not present.
Suggested fix:
Make sure the addition of row 3 gets replicated.