diff options
Diffstat (limited to 'mysql-test/t/im_options.imtest')
-rw-r--r-- | mysql-test/t/im_options.imtest | 248 |
1 files changed, 0 insertions, 248 deletions
diff --git a/mysql-test/t/im_options.imtest b/mysql-test/t/im_options.imtest deleted file mode 100644 index 8f9bed16473..00000000000 --- a/mysql-test/t/im_options.imtest +++ /dev/null @@ -1,248 +0,0 @@ -########################################################################### -# -# This test suite checks the following statements: -# - SET <instance id>.<option name> = <option value>; -# - UNSET <instance id>.<option name> = <option value>; -# - FLUSH INSTANCES; -# -# For SET/UNSET we check that: -# - SET ignores spaces correctly; -# - UNSET does not allow option-value part (= <option value>); -# - SET/UNSET can be applied several times w/o error; -# - SET/UNSET is allowed only for stopped instances; -# - SET/UNSET updates both the configuration cache in IM and -# the configuration file; -# -# For FLUSH INSTANCES we check that: -# - FLUSH INSTANCES is allowed only when all instances are stopped; -# -# According to the IM implementation details, we should play at least with the -# following options: -# - server_id -# - port -# - nonguarded -# -# Let's test SET statement on the option 'server_id'. It's expected that -# originally the instances have the following server ids and states: -# - mysqld1: server_id: 1; running (online) -# - mysqld2: server_id: 2; stopped (offline) -# -# NOTE: each CREATE INSTANCE statement must specify socket-file-name, otherwise -# this results of the test can be affected by another running test suite. -# -########################################################################### - ---source include/im_check_env.inc - -########################################################################### -# -# Check that SET/UNSET is allowed only for stopped instances. -# -########################################################################### - -# - check that SET/UNSET is denied for running instances; - ---error 3015 # ER_INSTANCE_IS_ACTIVE -UNSET mysqld1.server_id; - ---error 3015 # ER_INSTANCE_IS_ACTIVE -SET mysqld1.server_id = 11; - -# - check that SET/UNSET is denied for active instances: -# - create dummy misconfigured instance; -# - start it; -# - try to set/unset options; - -CREATE INSTANCE mysqld3 - datadir = '/', - server_id = 3, - socket = "$MYSQL_TMP_DIR/mysqld_3.sock"; -START INSTANCE mysqld3; - -# FIXME: START INSTANCE should be synchronous. ---sleep 3 -# should be longer than monitoring interval and enough to start instance. - -# NOTE: We can not analyze state of the instance here -- it can be Failed or -# Starting because Instance Manager is trying to start the misconfigured -# instance several times. - ---error 3015 # ER_INSTANCE_IS_ACTIVE -UNSET mysqld3.server_id; - ---error 3015 # ER_INSTANCE_IS_ACTIVE -SET mysqld3.server_id = 11; - -STOP INSTANCE mysqld3; - -# FIXME: STOP INSTANCE should be synchronous. ---sleep 3 -# should be longer than monitoring interval and enough to stop instance. - ---replace_column 3 VERSION_NUMBER 4 VERSION -SHOW INSTANCE STATUS mysqld3; - -# - check that SET/UNSET succeed for stopped instances; -# - check that SET/UNSET can be applied multiple times; - -UNSET mysqld2.server_id; -UNSET mysqld2.server_id; - ---replace_column 2 option_value -SHOW INSTANCE OPTIONS mysqld2; - -SET mysqld2.server_id = 2; -SET mysqld2.server_id = 2; - ---replace_column 2 option_value -SHOW INSTANCE OPTIONS mysqld2; - -# - check that UNSET does not allow option-value part (= <option value>); - ---error ER_SYNTAX_ERROR -UNSET mysqld2.server_id = 11; - -# - check that SET/UNSET working properly with multiple options; - -SET mysqld2.aaa, mysqld3.bbb, mysqld2.ccc = 0010, mysqld3.ddd = 0020; - ---echo -------------------------------------------------------------------- ---exec grep "^aaa\$" $MYSQLTEST_VARDIR/im.cnf ; ---echo -------------------------------------------------------------------- ---exec grep "^bbb\$" $MYSQLTEST_VARDIR/im.cnf ; ---echo -------------------------------------------------------------------- ---exec grep '^ccc[^a-zA-Z0-9_-]' $MYSQLTEST_VARDIR/im.cnf ; ---echo -------------------------------------------------------------------- ---exec grep '^ddd[^a-zA-Z0-9_-]' $MYSQLTEST_VARDIR/im.cnf ; ---echo -------------------------------------------------------------------- - -UNSET mysqld2.aaa, mysqld3.bbb, mysqld2.ccc, mysqld3.ddd; - ---echo -------------------------------------------------------------------- ---exec grep "^aaa\$" $MYSQLTEST_VARDIR/im.cnf || true; ---echo -------------------------------------------------------------------- ---exec grep "^bbb\$" $MYSQLTEST_VARDIR/im.cnf || true; ---echo -------------------------------------------------------------------- ---exec grep '^ccc[^a-zA-Z0-9_-]' $MYSQLTEST_VARDIR/im.cnf || true; ---echo -------------------------------------------------------------------- ---exec grep '^ddd[^a-zA-Z0-9_-]' $MYSQLTEST_VARDIR/im.cnf || true; ---echo -------------------------------------------------------------------- - -# - check that if some instance name is invalid or the active is active, -# whole SET-statement will not be executed; - ---error 3000 # ER_BAD_INSTANCE_NAME -SET mysqld2.aaa, mysqld3.bbb, mysqld.ccc = 0010; - ---echo -------------------------------------------------------------------- ---exec grep "^aaa\$" $MYSQLTEST_VARDIR/im.cnf || true; ---echo -------------------------------------------------------------------- ---exec grep "^bbb\$" $MYSQLTEST_VARDIR/im.cnf || true; ---echo -------------------------------------------------------------------- ---exec grep '^ccc[^a-zA-Z0-9_-]' $MYSQLTEST_VARDIR/im.cnf || true; ---echo -------------------------------------------------------------------- - ---error 3015 # ER_INSTANCE_IS_ACTIVE -SET mysqld2.aaa, mysqld3.bbb, mysqld1.ccc = 0010; - ---echo -------------------------------------------------------------------- ---exec grep "^aaa\$" $MYSQLTEST_VARDIR/im.cnf || true; ---echo -------------------------------------------------------------------- ---exec grep "^bbb\$" $MYSQLTEST_VARDIR/im.cnf || true; ---echo -------------------------------------------------------------------- ---exec grep '^ccc[^a-zA-Z0-9_-]' $MYSQLTEST_VARDIR/im.cnf || true; ---echo -------------------------------------------------------------------- - -# - check that if some instance name is invalid or the active is active, -# whole UNSET-statement will not be executed; - ---error 3000 # ER_BAD_INSTANCE_NAME -UNSET mysqld2.server_id, mysqld3.server_id, mysqld.ccc; - ---echo -------------------------------------------------------------------- ---exec grep '^server_id[^a-zA-Z0-9_-]' $MYSQLTEST_VARDIR/im.cnf; ---echo -------------------------------------------------------------------- - ---error 3015 # ER_INSTANCE_IS_ACTIVE -UNSET mysqld2.server_id, mysqld3.server_id, mysqld1.ccc; - ---echo -------------------------------------------------------------------- ---exec grep '^server_id[^a-zA-Z0-9_-]' $MYSQLTEST_VARDIR/im.cnf; ---echo -------------------------------------------------------------------- - -DROP INSTANCE mysqld3; - -# - check that spaces are handled correctly; - -SET mysqld2.server_id=222; -SET mysqld2.server_id = 222; -SET mysqld2.server_id = 222 ; -SET mysqld2 . server_id = 222 ; -SET mysqld2 . server_id = 222 , mysqld2 . aaa , mysqld2 . bbb ; - ---echo -------------------------------------------------------------------- ---exec grep '^server_id[^a-zA-Z0-9_-]' $MYSQLTEST_VARDIR/im.cnf ; ---echo -------------------------------------------------------------------- ---exec grep "^aaa\$" $MYSQLTEST_VARDIR/im.cnf ; ---echo -------------------------------------------------------------------- ---exec grep "^bbb\$" $MYSQLTEST_VARDIR/im.cnf ; ---echo -------------------------------------------------------------------- - -UNSET mysqld2 . aaa , mysqld2 . bbb ; - ---echo -------------------------------------------------------------------- ---exec grep '^server_id[^a-zA-Z0-9_-]' $MYSQLTEST_VARDIR/im.cnf ; ---echo -------------------------------------------------------------------- ---exec grep "^aaa\$" $MYSQLTEST_VARDIR/im.cnf || true; ---echo -------------------------------------------------------------------- ---exec grep "^bbb\$" $MYSQLTEST_VARDIR/im.cnf || true; ---echo -------------------------------------------------------------------- - -########################################################################### -# -# Check that SET/UNSET updates both the configuration cache in IM and -# the configuration file. -# -########################################################################### - -# - check that the configuration file has been updated (i.e. contains -# server_id=SERVER_ID for mysqld2); - ---echo -------------------------------------------------------------------- ---exec grep '^server_id[^a-zA-Z0-9_-]' $MYSQLTEST_VARDIR/im.cnf ; ---echo -------------------------------------------------------------------- - -# - (for mysqld1) check that the running instance has not been affected: -# connect to the instance and check that 'SHOW VARIABLES LIKE 'server_id'' -# returns zero; - ---connection mysql1_con - -SHOW VARIABLES LIKE 'server_id'; - ---connection default - -# - check that internal cache of Instance Manager has been affected; -# TODO: we should check only server_id option here. - -# SHOW INSTANCE OPTIONS mysqld2; - -########################################################################### -# -# Check that FLUSH INSTANCES is allowed only when all instances are stopped. -# -########################################################################### - -SHOW INSTANCES; - ---error 3016 # ER_THERE_IS_ACTIVE_INSTACE -FLUSH INSTANCES; - -STOP INSTANCE mysqld1; -# FIXME: STOP INSTANCE should be synchronous. ---sleep 3 -# should be longer than monitoring interval and enough to stop instance. - -SHOW INSTANCES; - -FLUSH INSTANCES; |