MySQL Cluster SQL Node not synchronizing

clusterMySQL

I am new to MySQL Cluster and am trying to setup a new cluster for our new application. Here is what I have set up on 5 CentOS 64 bit VM and got the cluster to work using MySQL Cluster 7.2. I am trying to test it and have some issues.

“I have successfully installed the Cluster with 5 nodes (2 Data, 1 Mgmt and 2 SQL Nodes). While testing the cluster I have hit on one scenario where I am stuck and cannot make it to work. Here is the screen shot of the Management Node displaying all cluster nodes:

ndb_mgm> show

Cluster Configuration

[ndbd(NDB)] 2 node(s)
id=2 @10.0.3.138 (mysql-5.5.30 ndb-7.2.12, Nodegroup: 0)
id=3 @10.0.3.83 (mysql-5.5.30 ndb-7.2.12, Nodegroup: 0, Master)

[ndb_mgmd(MGM)] 1 node(s)
id=1 @10.0.3.135 (mysql-5.5.30 ndb-7.2.12)

[mysqld(API)] 2 node(s)
id=4 @10.0.3.87 (mysql-5.5.30 ndb-7.2.12)
id=5 @10.0.3.22 (mysql-5.5.30 ndb-7.2.12)

ndb_mgm>
Here is the scenario:

While all nodes in the cluster are working as a part of my test I shut down one of the SQL Node 4 and while this node is offline, I drop a database which is part of the cluster databases on SQL Node 5. When I bring up the offline SQL Node 4 and rejoin to the cluster the dropped database still shows up. It should sync with the old cluster databases meaning the dropped database when the SQL Node 4 was offline should be removed from the cluster and should not show up on SQL Node 4. This is a real scenario that can happen.

Also, I am searching for MySQL Cluster Test document which describes these scenarios and cannot seem to find it. “

Any Help will be greatly appreciated.

Thanks

Best Answer

I ran my test again and this is what I find:

1) I have 2 Sql Nodes A and B in my NDB Cluster with 2 databases test and test1. I take Sql Node A out (stop mysqld) from the cluster. 2) While the Sql Node A is not part of the cluster, I drop database test1 from Sql Node B. 3) Then I rejoin (start mysqld) Sql Node A to the cluster. I still see test1 on Sql Node A but Sql Node B does not have it because I dropped it.

So just to confirm this does not work, however when I drop/add tables to test1 and even in fact add/delete data in the tables, they are all synchronized/replicated. So this confirms that we cannot drop a database while a Sql Node is out of the cluster and expect to be re synchronized to the node which was not part of the cluster when such drop occurred.

Related Topic