Commit Graph

659 Commits

Author SHA1 Message Date
876187b340 MXS-1503: Enable master reconnection
The `master_reconnection` parameter now controls both the reconnection of
the master server as well as the migration of the master server to another
server. Although these two cases appear to be different, the end result
from readwritesplit's point of view is the same and are thus controlled
with the same parameter.

The RWBackend class now resets its internal state when it is closed. This
allows readwritesplit to handle the case when a result was expected from
the master but the master died before the result was returned. The same
code should also handle slave connection failures mid-result, allowing
Backend reuse.

Added a test case that verifies the new functionality when combined with
`master_failure_mode=error_on_write`.
2018-04-03 13:30:51 +03:00
481db8acbc MXS-359: Rename parameter to master_reconnection
Changing the parameter name to `master_reconnection` allows similar
reconnection functionality to be combined under one parameter.
2018-04-03 13:30:51 +03:00
9f256f50eb Merge branch '2.2' into develop 2018-04-03 11:01:06 +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
b11fb53b95 Merge branch '2.2' of github.com:mariadb-corporation/MaxScale into 2.2 2018-03-29 15:51:52 +03:00
fa41ca28e2 remove trailing whitespaces from MDBCI scripts 2018-03-29 15:51:36 +03:00
3da5b535c8 Merge branch '2.2' into develop 2018-03-29 14:25:40 +03:00
01b04094a6 Only check for cores at root level
The previous core check would pick up any file in /tmp/ that would start
with the `core` prefix. This included some npm generated files which are
created if MaxCtrl is built on the MaxScale machine.
2018-03-29 14:25:19 +03:00
fc9998f1b4 Merge branch '2.2' into develop 2018-03-28 16:50:45 +03:00
eca77fb4c9 Improve core dump detection
The core dump detection now properly distinguishes core dumps and ssh
failures.
2018-03-28 16:50:27 +03:00
6ec87ae9f2 Merge branch '2.2' into develop 2018-03-28 09:19:42 +03:00
3be2ee8b28 Merge branch '2.1' into 2.2 2018-03-28 09:19:22 +03:00
ed6b19f7f7 Merge branch '2.2' into develop 2018-03-27 14:05:47 +03:00
e921298af9 add Maxscale stop into test init procedure 2018-03-27 12:58:05 +03:00
de768469b9 Fix hanging of mxs1585
The test appears to hang when the `SET sql_log_bin = 0` statement is
executed. Removing this seems to fix it and is OK as that's not what the
test aims to check.
2018-03-27 11:50:30 +03:00
cbbfb1c5c0 Merge branch '2.2' into develop 2018-03-27 07:25:32 +03:00
801d7ccdc7 Add sleep to pers_02
Adding a short sleep before the second attempt at connection creation is
done seems to significantly improve the reliability of the test.
2018-03-27 07:24:30 +03:00
32bfcc117b MXS-1731: Ignore empty values in persisted configs
If a MaxScale-generated configuration defines an empty value, it is
ignored with the assumption that the next modification will cause the
problem to correct itself.
2018-03-27 07:24:29 +03:00
cf547b9532 Merge branch '2.2' into develop 2018-03-26 10:03:20 +03:00
7be6f52d4a MXS-1733 Add test for revealing the problem 2018-03-26 10:02:57 +03:00
03310fa981 Add missing .cpp suffix
It doesn't appear to be necessary but other files use it.
2018-03-21 14:58:09 +02:00
433528aa59 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:58:09 +02:00
552c33e14d 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 14:58:09 +02:00
42412149bd Add missing .cpp suffix
It doesn't appear to be necessary but other files use it.
2018-03-21 14:14:14 +02: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
f525822472 Merge branch '2.2' into develop 2018-03-20 13:14:54 +02:00
94f29a11c5 MXS-1724: Reimplement core dump detection
Reimplemented the core dump detection for 2.2.
2018-03-20 13:06:20 +02:00
b0e0a79b46 Merge branch '2.1' into 2.2 2018-03-20 12:38:23 +02:00
02368473f7 Fix failover_mysqlmon
The test should stop MaxScale when it is fixing the replication to prevent
the triggering of the standalone master detection.

Also removed leading spaces from the messages and fixed a possible crash with a
NULL value given to `ssh_node`.
2018-03-20 10:59:08 +02:00
64ccb67897 Mark crashing tests as failed
If a test generates a core dump, it is marked as a failure.
2018-03-20 10:59:08 +02:00
022c226d4b Mxs 1665 keepalived masterdown test (#171)
* add keepalived_masterdown test

* add missing cnfs
2018-03-16 15:14:14 +02:00
749f43a70e MXS-1475 Add system test for @maxscale.cache.(soft_ttl|hard_ttl) 2018-03-16 14:34:04 +02:00
2ec19e2358 MXS-1475 Add test case for @maxscale.cache.[use|populate]
Also extend logging.
2018-03-16 14:34:04 +02:00
6afd57122d Merge branch '2.2' into develop 2018-03-16 12:39:55 +02:00
dad8e5da59 Sync slaves after creating tables in rwsplit_readonly
The test should synchronize the replication to avoid replication lag from
breaking the tests.
2018-03-15 23:24:08 +02:00
07cca088c9 MXS-1717: Fix test regressions
Due to the changes done for MXS-1717, the bug673 test had to be adjusted
and a newline has to be printed after users_diagnostic is called.
2018-03-15 23:23:15 +02:00
6a49f6ff0d MXS-359: Add test with master_failure_mode=error_on_write
Testing of routing behavior with master_failure_mode=error_on_write and
allow_master_changes=true. By sending an error instead of closing the
connection when the master fails, the connection can resume execution if a
new master becomes available.
2018-03-14 14:34:48 +02:00
62d4fa822d MXS-359: Test read-only mode and master replacement
Added test cases that verify that the functionality works as
expected. Also made Mariadb_nodes::change_master less verbose when one of
the nodes is down.
2018-03-14 14:34:48 +02:00
35b7ef35b7 MXS-359: Stop monitor before switching master
Stopping the monitor before changing the master is the closest thing to an
instant master switch.
2018-03-14 14:34:48 +02:00
dc48b8af4e Fix change_master function
The change_master function did not stop slaves on all servers before
reconfiguring them.
2018-03-14 14:34:48 +02:00
548c51c50d MXS-359: Fix mxs359_master_switch configuration
The test used the wrong parameter name.
2018-03-14 14:34:47 +02:00
9f5d2244ea Merge branch '2.2' into develop 2018-03-14 14:30:50 +02:00
d7c1d76065 Merge branch '2.1' into 2.2 2018-03-14 14:29:56 +02:00
36c960a141 Add helper functions and default parameters
Added some helper functions into the MaxScale class and default parameters
into the connection creation functions. Also made the ip() function const
correct.
2018-03-14 13:02:50 +02:00
464d52453b Add disconnect as an alias for close_connections
This way both MaxScale and backend connections have the same function
names.
2018-03-14 13:02:49 +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
2856b91077 Sync slaves before starting the test
Syncing the slaves should guarantee that the table exists on all servers.
2018-03-13 15:17:18 +02:00
4ce4c0b4c7 Merge branch '2.2' into develop 2018-03-13 13:35:19 +02:00