Commit Graph

12183 Commits

Author SHA1 Message Date
fb52e565fe Store capabilities of monitored server
Checking the version number in various places in the code gets confusing.
It's better to check the version in one place and record the relevant data.
2018-11-21 17:36:52 +02:00
01628dd0de Cleanup server version updating 2018-11-21 17:36:52 +02:00
0916b58c7e Merge branch '2.2' into 2.3 2018-11-21 16:46:06 +02:00
dd27fe0c04 Enable the watchdog
As the watchdog related problems have now been dealt with, it is
safe to have it enabled by default.
2018-11-21 15:33:14 +02:00
7777732f19 remove tabs and spaces from set_env.sh 2018-11-21 13:53:50 +02:00
1591ff7f46 MXS-2179 Activate WD workaround when fetching users
Fetching the users may potentially take longer than the watchdog
timeout. To ensure that MaxScale is not killed by systemd, we must
ensure that the notifications are generated also when MaxScale
synchronously is fetching the users.
2018-11-21 13:47:04 +02:00
b44ea837b9 do not use ssh to check MariaDB server start command
maxscale-system-test/set_env.sh script is slow because it checks if MariaDB start command is mysql or mysqld
Now all versions can be started with 'mysql' except MySQL 5.5 which is not supported
2018-11-21 13:39:01 +02:00
f1a113aff0 MXS-2178 Reduce accessbility of workarounds
Some rearrangements to ensure that what should be private
can be kept private.

- WatchdogNotifier made a friend.
- WatchdogWorkaround defined in RoutingWorker and made a friend.
- mxs::WatchdogWorker defined with 'using'.
2018-11-21 13:31:49 +02:00
78829429ae MXS-2178 Add WD workaround to REST-API and maxadmin 2018-11-21 13:31:49 +02:00
be12cab16d MXS-2178: Provide workaround for watchdog notifications
The systemd watchdog mechanism requries notifications at
regular intervals. If a synchronous operation of some kind
is performed by a worker, then those notfications will not
be generated.

This change provides each worker with a secondary thread that
can be used for triggering those notifications when the worker
itself is busy doing other stuff. The effect is that there will
be an additional thread for each worker, but most of the time
that thread will be idle.

Sofar only the mechanism; in subsequent changes the mechanism
will be taken into use.
2018-11-21 13:31:49 +02:00
923be73636 MXS-2171 Refuse to build without libsystemd-dev on systems that have systemd 2018-11-21 12:42:49 +02:00
5d4775cac1 MXS-2168 Update test_cycle_find
The test now uses both server id:s and hostname:port combinations.
2018-11-21 10:40:21 +02:00
c61aaee0ba MXS-2168 Add documentation on "assume_unique_hostnames" 2018-11-21 10:30:11 +02:00
90da3a4d90 Remove MXS_MONITORED_SERVER mapping from MariaDBMon
The mapping was rarely used.
2018-11-21 10:30:11 +02:00
1a046bd453 MXS-2168 Add 'assume_unique_hostnames'-setting to MariaDBMonitor
Adds the setting and takes it into use during replication graph creation
and the most important checks.
2018-11-21 10:30:11 +02:00
64a9a5135e Update maintenance version 2018-11-20 19:29:42 +02:00
d06d919752 Merge branch '2.3.1' into 2.3 2018-11-20 19:28:18 +02:00
ad7c5dd981 Update release date 2018-11-20 19:25:56 +02:00
fa65881f13 Add explicit installation instructions
The packages need to be installed with the correct tools and thus it makes
sense to instruct on the installation in the installation guide.
2018-11-20 16:28:36 +02:00
45eee098d1 MXS-2158 Add test case for rejoining a server with no gtid 2018-11-20 11:28:29 +02:00
48eb57bdc5 Merge branch '2.3.1' into 2.3 2018-11-20 11:27:59 +02:00
c552845fd1 Deprecate old admin modules
Added notification messages for the deprecation of the old admin interface
modules. Also added notes into the documentation about their deprecation.
2018-11-20 10:51:49 +02:00
e3ad827288 Do not enable the watchdog by default
Any administrative operation, performed using maxadmin or maxctrl,
that takes longer than the watchdog timeout will cause MaxScale to
be killed and restarted by the watchdog.
2018-11-20 10:43:59 +02:00
87e350f171 Remove hard-coded server_id from mysqlmon_failover_stress
Dynamically probing the server_id prevents the test from failing if the
server configuration is changed.
2018-11-19 20:19:21 +02:00
41670875fc MXS-2146: Add csmon test case
Added a test case that does a set of sanity checks on the monitor. As the
monitor is very simple, there are not a lot of things to test without
access to the actual instances (e.g. ExeMgr failures need to be tested).

Currently the test always passes as ColumnStore clusters aren't
implemented for the test framework.
2018-11-19 20:19:21 +02:00
da1772f8c9 MXS-2146: Add conditional columnstore usage
Tests can now declare that they require a columnstore setup. If one is not
present, the test is skipped.
2018-11-19 20:19:18 +02:00
92b4ed2867 Use explicit paths for bad config location
The test_bad_config used implicit locations which aren't very clear. Using
an explicit path, /tmp/, solves all of these problems.
2018-11-19 20:03:22 +02:00
778623bdfd Make mysqlmon_failover_manual2 tests faster
Removed the sleeps and used wait_for_monitor instead. Also dropped the
table at the end of the test.
2018-11-19 20:03:22 +02:00
fd3a42ceb6 Remove unnecessary sleeps from tests
Removed unnecessary sleeps and replaced sleeps with wait_for_monitor in
some older tests. Also removed the odd arrangement of arrays in
server_weight.
2018-11-19 20:02:13 +02:00
47092ed18a Prevent connection double counts in tests
The function would count a connection twice if hostname resolution was not
enabled and both the host and the IP matched.
2018-11-19 20:02:13 +02:00
601c2d6633 Drop databases in connect_to_nonexisting_db
The test left undropped databases after itself which caused unnecessary
work with repeated runs. Also removed the somewhat superficial wait at the
start of the test.
2018-11-19 20:02:12 +02:00
56a0945616 Add install scripts to maxscale-all package
The combined package should have the post-install and post-uninstall scripts.
2018-11-19 20:02:12 +02:00
ba8ec0a2a3 Fix debug assertion in maxavrocheck
A debug assertion would be triggered when a message was logged without
initializing the log subsystem.
2018-11-19 20:02:12 +02:00
9c19a481fc Rewrite readconnrouter_master test
Using server_id values is more reliable and significantly faster. Changed
code to use newer functions and constructs.
2018-11-19 20:02:12 +02:00
355f34669d Sanitize log_matches input
Given that the pattern is given as an argument quoted with single quotes,
embedded single quotes are a problem. Given that most cases that they are
used for is as parts of natural words like can't or won't. By replacing
the single quotes with wildcard characters, we make sure the input is
formatted correctly while still matching with relatively high accuracy.
2018-11-19 20:02:12 +02:00
4b6aab1417 Replace check_log_err with log_includes/log_excludes
The latter are more explicit and easier to understand at the call site.

Also removed the redundant crash checks via the log files.
2018-11-19 20:02:11 +02:00
bc8db6d52c Improve false_monitor_state_change
The test uses wait_for_monitor and no longer does the redundant debug
assert check that is covered by the core dump detection.
2018-11-19 20:02:11 +02:00
d60e97dfa5 Make node startup more robust
The connection attempts to all nodes are done over a period of time to
cope with slowly starting servers.
2018-11-19 20:02:11 +02:00
1f8180b8ee Use explicit file in mxs722
Using an explicit file also checks whether the correct file is used when a
specific file is given as an argument.
2018-11-19 20:02:11 +02:00
29b3dd0930 Fix prepared_statement
The test relied on the master's @@server_id being a specific value.
2018-11-19 20:02:11 +02:00
14fb142afb Rewrite maxscale_process_user
Changed output format to be more robust and used stack allocated objects
instead of heap allocated ones.
2018-11-19 20:02:10 +02:00
74ec1e7400 Skip tests that cannot be run
If a test requires Galera but it is not available, it is now skipped. All
tests that explicitly use the `test.galera` member as well as all tests
that use a Galera configuration now require that Galera is present.
2018-11-19 20:02:10 +02:00
11f607de8d Merge branch '2.2' into 2.3 2018-11-19 18:49:45 +02:00
9263c1cf8d Correct default watchdog timeout from 30 to 60
Documentation change.
2018-11-19 09:39:52 +02:00
37973777d5 MXS-2081: Prevent unwanted stripping of binaries
RPM packages by default strip all executables on some systems after
installation. To work around this, the post install part needs to be
prevented. This does not mean the post-install scripts used to create the
directories required by MaxScale.
2018-11-19 09:23:48 +02:00
32f6408230 Fix Ubuntu Trusty builds
The systemd package name is libsystemd-daemon-dev in older versions.
2018-11-16 17:54:50 +02:00
b00d9a944b Merge branch '2.3.1' into 2.3 2018-11-16 16:13:02 +02:00
8b50df1388 Install systemd-devel on SLES also 2018-11-16 16:09:05 +02:00
21be08f84a Merge branch '2.3.1' into 2.3 2018-11-16 16:06:09 +02:00
35b3dd4dd8 Install systemd libraries
Install systemd libraries in the install script.
2018-11-16 15:55:01 +02:00