mha4mysql-manager icon indicating copy to clipboard operation
mha4mysql-manager copied to clipboard

Fix masterha_check_repl

Open okumin opened this issue 9 years ago • 0 comments

masterha_check_repl has not worked when replication filters are given to only tailing servers, like test cases added to tests/t/t_filter_incorrect.sh.

This is because perl evaluates the empty string as false and unless block is executed despite another server has a configuration to declare that it never filters.

For example, there are three slaves and only last server has a filtering setting for replicate_do_db, masterha_check_repl succeeds like the followings.

  1. the first slave does not filter and current replicate_do_db is undefined
    • replicate_do_db is set to $_->{Replicate_Do_DB}(empty string) and
    • replicate_do_db ne $_->{Replicate_Do_DB} is false
  2. the second slave does not filter and current replicate_do_db is ""
    • replicate_do_db is set to $_->{Replicate_Do_DB}(empty string) and
    • replicate_do_db ne $_->{Replicate_Do_DB} is false
  3. the third slave filters and current replicate_do_db is ""
    • replicate_do_db is set to $_->{Replicate_Do_DB}(some db) and
    • replicate_do_db ne $_->{Replicate_Do_DB} is false

okumin avatar May 26 '16 20:05 okumin