summaryrefslogtreecommitdiff
path: root/mysql-test/t/im_options_set.imtest
blob: 6a70c31c0a42251f00d0b01fc5f428c1a9311ad8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
###########################################################################
#
# This file contains test for (3) test suite.
#
# Consult WL#2789 for more information.
#
###########################################################################

#
# Check the options-management commands:
#  - SET;
#  - FLUSH INSTANCES;
#
# Let's test the commands on the option 'server_id'. It's expected that
# originally the instances have the following server ids:
#  - mysqld1: 1
#  - mysqld2: 2
#
#  1. SET <instance_id>.server_id= SERVER_ID); where SERVER_ID is 11 or 12.
#   1.1. check that the configuration file has been updated (i.e.  contains
#     server_id=SERVER_ID for the instance);
#   1.2. (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;
#   1.3. check that internal cache of Instance Manager has not been affected
#     (i.e.  SHOW INSTANCE OPTIONS <instance> does not contain updated value).
#
#  2. FLUSH INSTANCES;
#   2.1. check that the configuration file has not been updated;
#   2.2. (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 value;
#   2.3. check that internal cache of Instance Manager has been updated (i.e.
#     SHOW INSTANCE OPTIONS <instance> contains 'server_id=SERVER_ID' line).
#
#  3. Restore options.
#

###########################################################################

--source include/im_check_env.inc

###########################################################################
#
#  1. SET <instance_id>.server_id= SERVER_ID); where SERVER_ID is 11 or 12.
#
###########################################################################

# * mysqld1

SET mysqld1.server_id = 11;

#   - check that the configuration file has been updated (i.e. contains
#     server_id=SERVER_ID for the instance);

--exec grep server_id $MYSQLTEST_VARDIR/im.cnf ;

#   - (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 not been affected
#     (i.e.  SHOW INSTANCE OPTIONS <instance> does not contain updated value).
#     TODO: we should check only server_id option here.

# SHOW INSTANCE OPTIONS mysqld1;

# * mysqld2

SET mysqld2.server_id = 12;

#   - check that the configuration file has been updated (i.e.  contains
#     server_id=SERVER_ID for the instance);

--exec grep server_id $MYSQLTEST_VARDIR/im.cnf ;

#   - check that internal cache of Instance Manager has not been affected
#     (i.e.  SHOW INSTANCE OPTIONS <instance> does not contain updated value).
#     TODO: we should check only server_id option here.

# SHOW INSTANCE OPTIONS mysqld2;

###########################################################################
#
# 2. FLUSH INSTANCES;
#
###########################################################################

FLUSH INSTANCES;

#   - check that the configuration file has not been updated;

--exec grep server_id $MYSQLTEST_VARDIR/im.cnf ;

#   - (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 value;

--connection mysql1_con

SHOW VARIABLES LIKE 'server_id';

--connection default

#   - check that internal cache of Instance Manager has been updated (i.e.
#     SHOW INSTANCE OPTIONS <instance> contains 'server_id=' line).
#     TODO: we should check only server_id option here.

# SHOW INSTANCE OPTIONS mysqld1;
# SHOW INSTANCE OPTIONS mysqld2;