Commit Graph

96 Commits

Author SHA1 Message Date
4a215b9ca2 MXS-1961: Add test case
Added a test case that reproduces the problem.
2018-07-07 09:28:50 +03:00
88431f14d7 Fix cache_basic configuration
The test requires the old default values.
2018-07-04 13:51:10 +03:00
a6182d48bf MXS-1643: Only test existence of extra events mxs1643_extra_events
Don't test failover functionality when it is not needed. The bug is only
about the extra events that appear when a master is demoted and a slave is
promoted.
2018-06-27 10:49:32 +03:00
8a526bf84f MXS-1926: Add test case
Added a test case that reproduces the problem and verifies that it is
solved.
2018-06-21 15:12:12 +03:00
d0feff5eb3 Wait for a number of monitor intervals in tests
The tests can now wait for a number of monitor intervals. This removes the
need to have hard-coded sleeps in the code and makes monitor tests more
robust under heavier load.
2018-06-08 07:45:18 +03:00
238a00f29d Set mysqlmon timeouts to 10 seconds
The backend timeouts should help prevent disconnections.
2018-06-08 07:45:18 +03:00
a319c5ad19 MXS-1889 Add test
If all slaves are down, a connection should be created to the
master.
2018-06-01 11:00:13 +03:00
4309d9b3a5 Change mxs1836_show_eventTimes port from 9003 to 4006
Port 9003 is not open by default in the test environment. Changing it to
port 4006, which is open, will work around this restriction.

Also added the mysql_error output to the error message when the querying
fails.
2018-05-17 09:50:37 +03:00
84ac115af8 MXS-1760: Add use_sql_variables_in test case
The test checks that both text protocol and binary protocol statements
produce the correct result.
2018-05-16 11:13:36 +03:00
5ed5d98bcd MXS-1836 Add test that catches regression 2018-05-15 14:45:42 +03:00
890902e338 Add maxinfo SQL interface test
Added a test for the maxinfo SQL interface.
2018-04-17 09:34:11 +03:00
4f8e1a99fc MXS-1743: Add test case
Added test case that reproduces the problem.
2018-04-04 19:43:46 +03:00
9291815bcd Wait for monitor to start in mxs1719
The test starts MaxScale and immediately connects to it. As the monitoring
is asynchronous, we need to give it a few seconds to stabilize.
2018-04-03 10:59:55 +03:00
4167e88719 MXS-1751: Fix crash with available_when_donor=true
The `MYSQL_ROW row` variable was being overwritten by the extra query done
by the SST method detection code. Moving it into its own function prevents
this and makes the code significantly easier to comprehend.

Added a test case that reproduced the problem (MaxScale crashed) and
verifies that the patch fixes the problem.
2018-03-31 20:21:07 +03:00
8b943e249b MXS-1731: Treat empty parameters as errors
If a parameter is defined without a value, it is now treated as an error.
2018-03-21 14:14:13 +02:00
f5562d2cab MXS-1719 Add test that reveals problem
With the masking filter, several UPDATEs as one multi-statement
causes the session to hang.
2018-03-21 13:39:03 +02:00
022c226d4b Mxs 1665 keepalived masterdown test (#171)
* add keepalived_masterdown test

* add missing cnfs
2018-03-16 15:14:14 +02:00
2023ee4dc7 MXS-1713: Fix resultset collection code
The resultset collection was not detected early enough in the code which
caused partial results to be returned to the router.
2018-03-14 13:02:47 +02:00
f7857518f3 Mxs 1140 keepalived (#166)
add keepalived test
2018-02-12 15:49:07 +02:00
6a1aba70e7 Add test case for ignore_external_masters + failover
The test checks that failover works even when the master of the monitored
cluster is a slave to an external masters. The test also verifies that the
servers do not get unexpected status labels.
2018-02-07 16:07:16 +02:00
6132ebd24f MXS-1643: Add test case
Added test case that checks that the correct state changes are made and no
extra events are triggered.

Also cleaned up the log checking function.
2018-02-06 14:51:07 +02:00
e1f1d8e58a Merge branch '2.1' into 2.2 2018-02-02 16:05:14 +02:00
facb8d60f7 MXS-1635 Test program for local_address
Tests that local_address is taken into account. However, at the time
of writing the maxscale VM does not have two usable IP addresses, so
we only test that explicitly specifying an IP-address does not break
things.

Locally it has been confirmed that this indeed works the way it is
supposed to.
2018-02-02 15:17:22 +02:00
cf0d745c14 MXS-1583 Add test that exposes the behaviour
This will fail with MaxScale 2.2.1.
2018-01-29 15:25:21 +02:00
d681d0f2fa Add manual rejoin tests 2018-01-25 11:49:37 +02:00
bf02571f45 MXS-1596 Test switchover under stress
- Start 4 threads where each thread sits in a loop and performs
  20% updates and 80% selects. Each thread has a table of its own.
- The main thread executes the following in a loop.
- Perform a switchover from the current master to the next (which is
  simply the next node % all nodes).
- Keep on doing that for 1.5 minutes.

The expectation is that the switchover will succeed, that is, after the
operation there will be a new master.
2018-01-16 10:31:27 +02:00
ad634fe31e MXS-1596 Stress test for failover
- Start 4 threads where each thread sits in a loop and performs
  20% updates and 80% selects. Each thread has a table of its own.
- The main thread executes the following in a loop.
  - Take down the current master and wait a while (failover assumed
    to happen).
  - Put up the old master node and wait a while.

Keep on doing that for 1.5 minutes.

At the end check that:
- There is one 'Master'.
- The other nodes are either
  - 'Slave' or
  - 'Running' in which case it is checked it is because the node could
    not be rejoined.
2018-01-12 15:56:52 +02:00
eda8288161 Rename and fix test
Test now tries to reset the servers when successful.
Still seems to rarely fail.
2018-01-10 15:25:58 +02:00
a4c4c26ab9 Increase timeouts of mysqlmon_switchover
With default timeouts test failed on max-tst-01
2018-01-09 12:48:49 +02:00
eff88f7126 Disable detect_standalone_master in replication template
The template is used by tests that expect the functionality to be
disabled.
2018-01-09 10:57:18 +02:00
eddd4db606 MXS-1562 Test switchover under ideal conditions 2018-01-02 10:21:01 +02:00
ee8161af83 Fix mxs1509
Temporarily disable the multi-source part of the test. Explicitly set
gtid_slave_pos when changing master. Add missing parameter to
configuration.
2017-12-29 11:01:07 +02:00
8b2aa52384 Merge branch '2.1' into 2.2 2017-12-29 08:42:49 +02:00
6b2133d6a6 Fix mysqlmon_failover_auto and mysqlmon_failover_manual
The tests now reset the replication state using queries and switchover instead of
calling fix_replication(). The results are checked so these tests now test
switchover as well.

Also, reduce printing when verbose is on for any test using the get_output()-function
in fail_switch_rejoin_common.cpp.
2017-12-28 21:54:58 +02:00
c6bc1f7327 MXS-1585: Add preliminary test case
The test case attempts to simulate the environment where the crash appears
to have happened. Local testing does not point out any problems.
2017-12-27 17:21:42 +02:00
029f595100 Fix mxs1509
Temporarily disable the multi-source part of the test. Explicitly set
gtid_slave_pos when changing master. Add missing parameter to
configuration.
2017-12-21 17:07:58 +02:00
a2acecd229 Fix test failures
Use correct parameter name for verify_master_failure and run MaxScale
explicitly as root in run_ctrl_c.sh.
2017-12-21 10:48:06 +02:00
4d7c93f7c9 Rename test
We are testing switchover and not failover to a bad master
2017-12-21 10:24:03 +02:00
fab2eab0fd MXS-1568 Rolling restart of slaves
- Regular master/slave setup.
- Each slave is in turn taken down and restarted.
- Checked that the slave state changes accordingly.
2017-12-19 16:59:25 +02:00
c4ba3ba4ca MXS-1561 Switchover to bad master
auto_failover=true
auto_rejoin=false

This test tests the following:

- Regular master-slave setup
- Create a table, insert some data
- Sync all slaves
- Stop a slave
- Insert some more data
- Sync remaining slaves
- Stop the master
- Expect the failover mechanism to pick a new master (server2)
- Bring up the slave
- Perform a switchover from server2 to server4
- Should fail

Currently it does fail, but only due to a timeout.

    [mysqlmon] MASTER_GTID_WAIT() timed out on slave 'server4'.

There should be some check that would ensure that the failure happens
faster than that.
2017-12-18 15:41:21 +02:00
033e3f628e MXS-1566 Rejoin old slave
This test tests the following:

- Regular master-slave setup
- Create a table, insert some data
- Sync all slaves
- Stop a slave
- Insert some more data
- Sync remaining slaves
- Stop the master
- Expect the failover mechanism to pick a new master
- Bring up the slave
- Expect the slave to be rejoined
2017-12-18 14:36:47 +02:00
e33b2d0fcd MXS-1567 Rolling master promotion
- The test starts with the usual setup of 1 master and 3 slaves.
- Then the master is taken down and it is checked that the failover
  mechanism promotes some slave to master.
- This is continued until there is a single master left (no
  slaves).
2017-12-15 13:51:46 +02:00
5fc787a67c Add 'detect_standalone_master=true'
Only necessary for the two node case and not needed once the flag
is on permanently.
2017-12-15 13:51:06 +02:00
6b5ed66404 MXS-1564: Add rejoin test
The test combines auto-failover, rejoining a temporarily downed master
server and switchover.
2017-12-14 11:33:53 +02:00
f0d33a6ead MXS-1560 Manual failover with two good candidates
Not two specific good candidates, but all slaves are assumed
are equally good.
2017-12-12 13:27:57 +02:00
79afaa447e Merge branch '2.1' into 2.2 2017-12-12 13:23:02 +02:00
7ebd487ef3 change cnfs for binlog tests 2017-12-12 12:24:21 +02:00
6485365b3b MXS-1514: Split failover test in two files, add manual version
The same test now has two versions. In the automatic version failover
begins automatically. In the manual version failover is started with
maxadmin. The tests are otherwise identical.
2017-12-12 11:09:50 +02:00
357eb67a84 Add missing configuration file for mxs1509
The test configuration file was not added to git.
2017-12-11 12:31:40 +02:00
3c88bf1ec6 refactored tests (#147) 2017-12-08 12:23:04 +02:00