Details
-
New Feature
-
Status: Closed (View Workflow)
-
Minor
-
Resolution: Won't Do
-
1.1.5
-
None
Description
Input from a community user about improvement in the rsync.sh script, which will equalize the front-end um from um1 (pm1) to the other nodes when mysql-replication is enabled
I notice that when we call mcsadmin enableMySQLReplication one of the steps is the call to the script /usr/local/mariadb/columnstore/bin/rsync.sh
If I understand well this is used to create the "zero point" each time, before activate the standard mysql replication.
What I'm not understanding is why this script not use the delete option of the rsync.
Here the problem:
1) I disable the MySQL replication with mcsadmin disableMySQLReplication
2) On the Primary Front-End MariaDB ColumnStore Module (pm1 /um1) I call a simple DROP TABLE or a DROP DATABASE
3) I enable the MySQL replication with mcsadmin enableMySQLReplication
In this case what I'm expecting is that also on the other UM (or pm if combinated) the table or the database that i drop were removed.
Instead all the ibd and frm files remain in place.
Other thing I not understand is why we exclude "test/" (test database), is useful for some reason? (according to https://github.com/mariadb-corporation/mariadb-columnstore-server/blob/master/scripts/mysql_secure_installation.sh I've removed it from PM1)
I have also not idea if it's better to rsync also the mysql database or not.
I suggest you to upgrade the rsync.sh script with the "--delete" option, the "-axvz" options instead of "-vopgr" and removing the --exclude=mysql/ and --exclude=test/ clause, somethings like:
set COMMAND "rsync -axvz --delete -e ssh --exclude=infinidb_vtable/ --exclude=infinidb_querystats/ --exclude=calpontsys/ --include=/ --include=/* --exclude=* $INSTALLDIR/mysql/db/ $USERNAME@$SERVER:$INSTALLDIR/mysql/db/"
According to
MCOL-1063and after some test it's better:set COMMAND "rsync -az --stats --delete -e ssh --exclude=mysql/ --exclude=infinidb_vtable/ --exclude=infinidb_querystats/ --exclude=calpontsys/ --include=*/ --include=*/* --exclude=* $INSTALLDIR/mysql/db/ $USERNAME@$SERVER:$INSTALLDIR/mysql/db/"