Skip to content
bmildren edited this page Jan 27, 2016 · 3 revisions

MHA Manager

Changes in Manager 0.57

(May 31 2015)

Bug Fix:

  • Code cleanup: Disconnecting properly on connection checks
  • Masking plaintext passwords
  • Ignore event scheduler when checking long updates
  • Use InnoDB for ping insert

Changes in Manager 0.56

(Apr 1 2014)

New Features:

  • Supporting MySQL 5.6 GTID (If GTID and auto position is enabled, MHA automatically does failover using GTID syntax)
  • Supporting MySQL 5.6 Multi-Threaded slave
  • Supporting MySQL 5.6 binlog checksum
  • Supporting mysqlbinlog streaming hosts. In some cases, people use binlog archiving servers via streaming mysqlbinlog. MHA supports that by [binlog] section. This works with GTID. If [binlog] is added, MHA checks the hosts and if it has more binlog events than other slaves, MHA uses these events for recovery.
  • Supporting custom mysql and mysqlbinlog location
  • Adding ping_type=INSERT for checking connectivity for the master. This is useful if master does not accept any writes (i.e. disk error)
  • Added --orig_master_is_new_slave, --orig_master_ssh_user and --new_master_ssh_user for master_ip_online_change_script

Changes in Manager 0.55

(Dec 12 2012)

Bug Fix:

  • MHA does not start if MySQL password is empty. This was a regression bug in 0.54 (details)

Changes in Manager 0.54

(Dec 1 2012)

Dependency:

  • MHA Manager 0.54 requires MHA Node 0.54. And MHA Node 0.54 can not be invoked from MHA Manager version 0.53 or older.

New features:

  • Supporting --new_master_user and --new_master_port for master_ip_failover_script, and supporting --orig_master_user, --orig_master_password, --new_master_user and --new_master_password for master_ip_online_change_script
  • Adding "ssh_connection_timeout" parameter. Default is 5 seconds. Before adding this parameter timeout was hard coded.
  • Adding --ignore_fail_on_start command line argument so that masterha_monitor does not stop if ignore_fail marked slaves are down
  • Supporting --skip_change_master command line argument. By setting this argument on master failover, MHA exits after applying differential relay logs, and skipping CHANGE MASTER and START SLAVE
  • Adding --skip_disable_read_only command line argument. By passing this parameter, MHA skips executing SET GLOBAL read_only=0 on the new master. This may be useful when you want to manually disable this.

Bug fixes:

  • MHA stops with errors (UUV) when using Log::Dispatch version 2.30 or higher
  • MySQL user and password should be escaped properly (they were not properly handled if special characters were included)
  • masterha_check_ssh should not try to read from files if not exist

Changes in Manager 0.53

(Jan 9 2012)

New features:

  • Manager-Issue#12 Supporting RESET SLAVE ALL from MySQL 5.5.16
  • Manager-Issue#15 Supporting "skip_reset_slave" parameter to avoid running CHANGE MASTER TO on the promoted slave
  • Manager-Issue#18 Checking master's ping status via CONNECT, in addition to SELECT
  • Supporting --check_only for online master switch / patch
  • Supporting "mysql --binary-mode" from MySQL 5.6.3 / patch
  • Supporting ssh_host and ssh_port parameters / patch
  • Supporting ssh_options parameter / patch
  • When doing online master switch, MHA checks whether long queries are running on the new master. This is important to reduce workloads on the new master. Query time limit can be controlled via --running_seconds_limit. / patch
  • When executing SIGINT on online master switch, MHA tries to disconnect established connections via MHA. / patch
  • Additionally checking replication filtering rules on online master switch / patch

Bug fixes:

  • Manager-Issue#13 MHA Manager looks for relay-log.info in wrong location

  • Manager-Issue#14 Wrong option for master_ip_failover_script

  • Manager-Issue#17 Timeout settings for SSH connection health check does not always work

  • Modifying a rpm spec file to create valid rpm package for 64bit RHEL6 / patch

  • Manager-Issue#19 Forcing more strict ssh checking. Originally MHA checks master's reachability by just connecting via SSH and exiting with return code 0. This in some cases does not work especially if SSH works but data files are not accessible. In this fix, MHA checks master's ssh reachability by executing save_binary_logs command (dry run). MHA Client also needs to be updated to 0.53.

  • Zombie process remains on master ping timeout / patch

  • Do not execute SET GLOBAL read_only=(0|1) if not needed / patch

    SET GLOBAL read_only=(0|1) conflicts with long running queries and will block all updates (including from root and SQL Thread) until conflicting queries finish. In theory this should happen only when setting from 0 to 1, and 5.5 works correcty, but current 5.1 locks anytime (including 0->0, 1->1, 1->0). This is dangerous and do not run SET GLOBAL read_only=(0|1) if not needed. MHA should execute SET GLOBAL read_only in the below cases:

    • Online master switch: SET GLOBAL read_only=1 on the current master (from master_ip_online_change script)
    • Failover and online master switch: SET GLOBAL read_only=0 on the new master if current read_only value is 1

    On online master switch, FLUSH NO_WRITE_TO_BINLOG TABLES will be executed (manually) beforehand, so this issue will rarely happen.

Changes in Manager 0.52

(Sep 16 2011)

Package name change:

  • Package name has changed from "MySQL-MasterHA-Manager-X.Y" to "mha4mysql-manager-X.Y". This is to avoid potential trademark issues.

New features:

Bug fixes:

Misc:

  • Manager-Issue#7 Connection checks are done in parallel. Failover can be done much faster when multiple MySQL servers are not reachable.
  • Followed Perl Best Practices

Changes in Manager 0.51

(Aug 18 2011)

Bug fixes:

  • Manager-Issue#4 Some tentative working files were written in a current directory, not working directory
  • Manager-Issue#3 Checking slave state string is incorrect for MySQL 5.5+. This might stop slave recovery.
  • Manager-Issue#2 Wrong exit code on masterha_manager
  • Manager-Issue#1 When multiple servers with the same hostname and different ports are defined, migration information is not printed correctly

Misc:

  • Public test cases are added.

Changes in Manager 0.50

(Jul 23 2011)

Initial Public Release

MHA Node

Changes in Node 0.57

(May 31 2015)

  • Create/delete test table with MyISAM engine instead of InnoDB

Changes in Node 0.56

(Apr 1 2014)

  • 0.55 was skipped
  • Supporting MySQL 5.6 binlog checksum
  • Added --socket and --defaults-file for purge_relay_logs

Changes in Node 0.54

(Dec 1 2012)

Dependency:

  • MHA Manager 0.54 requires MHA Node 0.54. And MHA Node 0.54 can not be invoked from MHA Manager version 0.53 or older.

Bug fixes:

  • MySQL user and password should be escaped properly (they were not properly handled if special characters were included)

Changes in Node 0.53

(Jan 9 2012)

New features:

  • Issue#3 Supporting "mysql --binary-mode" from MySQL 5.6.3
  • Supporting ssh_host and ssh_port parameters
  • Supporting ssh_options parameter

Bug fixes:

  • Issue#2 MHA Manager looks for relay-log.info in wrong location
  • Issue#4 Forcing more strict ssh checking.

Changes in Node 0.52

(Sep 16 2011)

Package name change:

  • Package name has changed from "MySQL-MasterHA-Node-X.Y" to "mha4mysql-node-X.Y". This is to avoid potential trademark issues.

Misc:

  • Followed Perl Best Practices
  • Version 0.51 has skipped.

Changes in Node 0.50

(Jul 23 2011)

Initial Public Release

RPM packages: * Node-Issue#1 Node rpm package should not depend on MODULE_COMPAT * RPM packages for RH4,5,6