I have Percona server farm setup with master and slave nodes, slave has indexes built on some of the fields that master has not. When pt-online-schema-change is applied on master the indexes from the slave were gone. How it works internally in the tool? My understanding was it calls CREATE TABLE LIKE statement, that would yield appropriate structures for master and slave? Do I miss something here or is there a way to work around the issue?
from the documentation, it’s not clear what will happen in a replicated environment.
as a result it’s not clear how the tool should be run in that type of environment. for example, should the tool be run against the slaves first or just the master? if run against the master, will the create table / create triggers / swaps be performed on all of the slaves too? there is no error checking for problems on downstream slaves, so technically this would only be safe to run against a single server. all downstream operations would have to be manually verified (table structures, swap, trigger cleanup, foreign keys, etc.).
similarly, what if this is run in a cluster? (XtraDB or Galera)
what binlog_formats are supported? (the tool gives binlog_format warnings if set to statement)