Commit Graph

11034 Commits

Author SHA1 Message Date
238a00f29d Set mysqlmon timeouts to 10 seconds
The backend timeouts should help prevent disconnections.
2018-06-08 07:45:18 +03:00
8afa8c2c5a MXS-1775 Add MonitorInstanceSimple class
MonitorInstanceSimple is intended for simple monitors that
probe servers in a straightforward fashion. More complex monitors
can be derived directly from MonitorInstance.
2018-06-07 15:13:26 +03:00
880db1353a Merge branch '2.2' into develop 2018-06-07 14:39:16 +03:00
0dd7448586 MXS-1709 Fix memory leaks in unit tests 2018-06-06 22:59:52 +03:00
3c0f301674 MXS-1709 Fix to test_server 2018-06-06 22:36:10 +03:00
82a95bfe2d MXS-1709 Fix memory leaks causing test_server to fail 2018-06-06 22:36:10 +03:00
2481de260f Move monitor-dependent code in MariaDBServer to MariaDBMonitor
Removes Monitor-dependency from the MariaDBServer-class.
2018-06-06 22:28:38 +03:00
6d1863451a MXS-1775 Fix galera monitor
The statuses were flushed at the wrong place as far as the
Galera monitor was concerned.
2018-06-06 15:34:40 +03:00
b2a190c2b8 MXS-1775 Add switchover_on_low_disk_space parameter 2018-06-06 15:25:57 +03:00
dc47835ef6 MXS-1775 Add documentation for new monitor parameter 2018-06-06 15:25:57 +03:00
af717426d5 MXS-1775 Load server journal unconditionally
The server journal is unconditionally loaded and need not be
done in @c pre_loop.
2018-06-06 15:25:57 +03:00
f600b3a769 MXS-1775 Check disk space in MariaDBMonitor 2018-06-06 15:25:57 +03:00
18ece193bb MXS-1775 MariaDBMonitor::main() removed
Now uses MonitorInstance::main() as all other monitors.
2018-06-06 15:25:57 +03:00
44b1e805a3 MXS-1775 Move MariaDBMonitor functionality to tick
Now all is set for moving MariaDBMonitor on top of
MonitorInstance::main.
2018-06-06 15:25:57 +03:00
329a6df662 MXS-1775 Factor out post-processing
Further adjustments for being able to move MariaDBMonitor on
top of MonitorInstance::main().
2018-06-06 15:25:57 +03:00
71194d83d3 MXS-1775 Rearrange for moving main loop to MonitorInstance
This is another step in the process for moving the main loop
from MariaDBMonitor to MonitorInstance.
2018-06-06 15:25:57 +03:00
5172c43e29 MXS-1775 Add functions for checking disk space of servers 2018-06-06 15:25:57 +03:00
4325ab620b MXS-1775 Add status indicating disk space exhaustion
The variable is modified by monitors from their monitor threads.
And made available to routers as nice to know information.
2018-06-06 15:25:57 +03:00
50c3c637df Merge branch '2.2' into develop 2018-06-06 14:54:30 +03:00
235bcb4d15 Update 2.2 version number 2018-06-06 14:42:30 +03:00
5181d3a10a Merge branch '2.2' into develop 2018-06-06 14:41:50 +03:00
f76abd5584 Merge branch '2.2.9' into 2.2 2018-06-06 14:41:32 +03:00
9e70ce5ffd Fix broken documentation link 2018-06-06 14:38:10 +03:00
4b95975d32 Merge branch '2.2' into develop 2018-06-06 12:13:37 +03:00
acc192b477 Merge branch '2.2.9' into 2.2 2018-06-06 12:13:02 +03:00
ff5f93a751 Update 2.2.9 release date 2018-06-06 12:05:39 +03:00
70fdd0fc17 Merge branch '2.2' into develop 2018-06-06 08:56:31 +03:00
f2b2951c99 Track the number of performed monitoring intervals
Tracking how many times the monitor has performed its monitoring allows
the test framework to consistently wait for an event instead of waiting
for a hard-coded time period. The MaxCtrl `api get` command can be used to
easily extract the numeric value.
2018-06-06 08:46:46 +03:00
cfe676b1c8 Sleep longer in mysqlmon_* tests
Increased the amount of time that the tests sleep while they wait for
states to change. This should make them more tolerant of server load by
allowing more time for things to settle down.
2018-06-06 08:46:46 +03:00
994d3bc22d Disable mxs1824_double_cursor
The test doesn't work due to the fact that the connector can't open two
cursors at the same time.
2018-06-06 08:46:45 +03:00
e6a9b83269 MXS-1899: Test that generated [maxscale] sections work
The test alters the configuration at runtime and restarts MaxScale.
2018-06-06 08:46:45 +03:00
17c9ac95bd MXS-1845 Add unit test for the cycle find algorithm (Tarjan SCC)
Only a few test cases for now.
2018-06-05 16:33:51 +03:00
9a0445cd4e MXS-1845 Save cycle members
The saved data may be useful later on. Also includes some cleanup.
2018-06-05 16:25:04 +03:00
19a0c94661 Typo fix in logthrottling_test 2018-06-05 15:49:22 +03:00
1857252033 MXS-1749 Delete old process datadir on startup if it still exists
When starting MaxScale it deletes all of the old process datadirs that
might have not been cleaned up due to unexpected exit of the program.
2018-06-05 15:10:41 +03:00
ac998b70a3 Merge branch 'develop' of https://github.com/mariadb-corporation/MaxScale into develop 2018-06-05 11:37:18 +03:00
48509d30f1 Silence the -Wunused-result warning
-Wunused-result warning in test_logthrottling.cc was causing error when
trying to build MaxScale from source. This warning can be silenced with by
putting the function triggering the warning in if-clause.
2018-06-05 11:30:55 +03:00
7e1f795ae9 Address review comments 2018-06-05 10:37:03 +03:00
a5377212a6 MXS-1507: Add transaction replay stress test
The test performs transactions while the master server is stopped and
started.
2018-06-04 19:26:36 +03:00
445eece95b MXS-1507: Fix replaying of empty transactions
If the starting of a transaction was interrupted by a server failure, the
query needs to be retried. This needs to be done as a transaction replay
to keep the routing logic consistent and simple.

When a non-autocommit transaction is interrupted, there will be no query
in progress and no replaying is needed. To handle this case, the replay
initialization logic needed to be altered to treat truly empty
transactions as a success case.
2018-06-04 19:26:36 +03:00
74cc74ed66 Remove MySQL 5.1 support from tests
Removed the configuration parameter template and the code that uses it.
2018-06-04 19:26:36 +03:00
e858ef672c Fix moudle command debug assertion
The names can be of different case.
2018-06-04 19:26:36 +03:00
dfd898e2cc Update 2.2 change log and add 2.2.9 release notes 2018-06-04 16:02:42 +03:00
4a3216d483 Merge branch '2.2' into develop 2018-06-04 16:00:19 +03:00
9d0b1be08b Improve unexpected response error message
The message now logs the current command and the query if it is available.
2018-06-04 15:17:48 +03:00
306beb05cd MXS-1899: Allow generated [maxscale] sections
The generated configuration file contains a [maxscale] section which
should not be treated as an error.
2018-06-04 15:17:48 +03:00
d22f6d7b1c MXS-1743: Fix load balancing with router_options=master,slave
The code that selects the candidate backend always returned the root
master if the server bitmask contained the master bit. This should only be
done if the master bit is the only bit in the bitmask and when there are
other bits, the normal candidate selection code should be used.

Also added a query to the expanded test case to make sure the connection
actually works.
2018-06-04 15:17:48 +03:00
da4397a501 MXS-1743: Expand test case to cover load balancing
The test case now verifies that the servers are actually load balanced
correctly. This test reveals a problem in the readconnroute; the master is
always preferred over slaves if one is available with
router_options=master,slave.
2018-06-04 15:17:48 +03:00
cddcc6d7d5 MXS-1896: Distinct LOAD DATA LOCAL INFILE from LOAD DATA INFILE
The two operations return different types of results and need to be
treated differently in order for them to be handled correctly in 2.2.

This fixes the unexpected internal state errors that happened in all 2.2
versions due to a wrong assumption made by readwritesplit. This fix is not
necessary for newer versions as the LOAD DATA LOCAL INFILE processing is
done with a simpler, and more robust, method.
2018-06-04 15:17:48 +03:00
c88aa11e11 Copy FDE events in avrorouter
Commit 67386980e327ad063b24cb55971cf44f4930e241 caused the actual events
to be ignored. This meant that the larger event size was assumed for all
events. In most cases this works but it is not the correct way to do it.
2018-06-04 15:17:48 +03:00