Esa Korhonen
f6cec41dd8
MXS-2271 Monitor config name and instance name are parameters of createInstance()
...
Also adds/moves some comments from previous entrypoints. Name and module
are now constant fields.
2019-01-24 09:49:53 +02:00
Esa Korhonen
9ac8bf93bb
MXS-2271 Rename monitor-related classes
...
MXS_MONITOR->Monitor
MonitorInstance->MonitorWorker
MonitorInstanceSimple->MonitorWorkerSimple
2019-01-22 15:59:17 +02:00
Esa Korhonen
dadb6a1a79
MXS-2271 All monitors inherit from MXS_MONITOR
...
Most of the API entrypoints are replaced with virtual functions.
2019-01-22 15:59:17 +02:00
Esa Korhonen
17fc2ba88a
Store error status into QueryResult object
...
The QueryResult-object remembers if a conversion failed. This makes checking
for errors more convenient, as just one check per row is required. The conversion
functions always return a valid value.
2019-01-22 15:34:19 +02:00
Esa Korhonen
3125d1babf
MXS-2271 Convert MXS_MONITOR and MXS_MONITORED_SERVER to classes
...
First step in monitor refactoring and cleanup.
2019-01-17 17:43:54 +02:00
Esa Korhonen
dae99b2acd
Merge branch '2.3' into develop
2019-01-15 15:57:06 +02:00
Esa Korhonen
8cef8b9472
Compile MariaDBMonitor unit tests only if flag is set
2019-01-15 15:44:21 +02:00
Esa Korhonen
b4d91d4b9a
Move query result helper class to maxsql
...
Added some asserts to ensure the class is used correctly.
2019-01-14 10:43:17 +02:00
Esa Korhonen
8b53e30678
MXS-2220 Move server status functions inside class
2019-01-08 15:12:47 +02:00
Esa Korhonen
cf9ac9004e
Fix compilation error
...
A variable had the same name as a type, which confused some compilers.
2019-01-04 10:40:11 +02:00
Esa Korhonen
40485d746c
MXS-2220 Change server name to constant string
2019-01-03 12:13:15 +02:00
Esa Korhonen
09aa54720d
MXS-2220 Read server version using public methods
...
Version related fields have been removed from the public class.
2019-01-03 11:23:14 +02:00
Esa Korhonen
eacf88f6a5
MXS-2220 Add server version and type information struct
...
The old fields are still used.
2018-12-19 13:18:16 +02:00
Esa Korhonen
6209d737e9
MXS-2220 server_alloc returns internal type
...
Also adds default initializers to SERVER fields.
2018-12-14 10:31:57 +02:00
Esa Korhonen
2b0eac2cd0
Move server disk space threshold setting to private Server-class
...
The setting can be read and written simultaneously and is protected with
a mutex.
The public SERVER-class is now abstract.
2018-12-14 10:18:14 +02:00
Esa Korhonen
bec9455a74
MXS-2205 Combine routingworker.h with routingworker.hh
2018-12-05 11:12:20 +02:00
Markus Mäkelä
ad12ff6d06
MXS-2196: Rename dcb.h to dcb.hh
2018-12-04 11:50:43 +02:00
Esa Korhonen
8a570eb6a1
MXS-2205 Combine maxscale/monitor.h with maxscale/monitor.hh
2018-12-03 15:28:06 +02:00
Esa Korhonen
97bb7e7e1a
MXS-2205 Combine maxscale/modutil.h with maxscale/modutil.hh
2018-12-03 15:28:06 +02:00
Esa Korhonen
35cdbc7220
MXS-2205 Convert modulecmd.h to .hh
2018-12-03 14:06:02 +02:00
Esa Korhonen
3e5818fcb6
MXS-2205 Convert mysql_utils.h to .hh
2018-12-03 14:05:21 +02:00
Esa Korhonen
344c7dde4a
MXS-2205 Combine internal monitor headers
...
Contents of monitor.h moved to monitor.hh
2018-12-03 13:32:09 +02:00
Esa Korhonen
0c7e737eb7
Move some mysql/mariadb utilities to maxutils
...
Can be used in system tests later on.
2018-11-30 13:03:37 +02:00
Esa Korhonen
a1e1ac0012
Move string_printf to maxbase
...
Can be used in tests.
2018-11-29 12:21:40 +02:00
Johan Wikman
55a39268c6
MXS-2163 Make MariaDBMon recognize Clustrix
...
To allow MariaDBMon to be used with Clustrix we need to handle
Clustrix separately as its apparent version is 5.0.45, which is
lower than what MariaDBMon supports. Further, we must ensure that
Clustrix does not query the slave status as there are no slaves
in the M/S sense in a Clustrix cluster.
NOTE: Once there is a specific Clustrix monitor, this code should
be removed.
2018-11-28 15:27:23 +02:00
Esa Korhonen
b47d4a4105
Use max_statement_time
...
Used only with supporting server versions. Using the time limit ensures that
the server interrupts the query at the same point Connector-C would cut the
connection. This prevents lingering queries.
Also, cleans up some associated error messages.
2018-11-23 15:15:44 +02:00
Esa Korhonen
0a5a3309e0
Add missing quotes when printing server names
...
Some of the log messages didn't have the quotes.
2018-11-23 14:02:09 +02:00
Esa Korhonen
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
Esa Korhonen
01628dd0de
Cleanup server version updating
2018-11-21 17:36:52 +02:00
Esa Korhonen
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
Esa Korhonen
90da3a4d90
Remove MXS_MONITORED_SERVER mapping from MariaDBMon
...
The mapping was rarely used.
2018-11-21 10:30:11 +02:00
Esa Korhonen
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
Esa Korhonen
bba0bc0f31
MXS-2158 Relax requirements for manual rejoin
...
The operation is now allowed even if the rejoining server has empty gtid:s.
Auto-rejoin keeps the safeties on.
2018-11-16 13:03:30 +02:00
Esa Korhonen
6a1cfddb43
MXS-2158 Clean up gtid updating during rejoin
...
Error messages from update_gtids() are now printed. can_replicate_from()
no longer updates gtid:s.
2018-11-16 12:56:24 +02:00
Esa Korhonen
a377a9fc5a
Add gtid event in reset-replication
...
Adds a "FLUSH TABLES" command at the end so that the new master has a non-empty
gtid_binlog_pos after the operation.
2018-11-14 11:01:48 +02:00
Esa Korhonen
14e38e4e08
MXS-2158 Return true if update_gtids() succeeds, even if no data is returned
...
Previously, if the server had no gtid:s, the method would fail leading to
a confusing error message. This could even totally stop the monitor from working
if a recent server version (10.X) did not have any gtid events.
2018-11-14 10:56:42 +02:00
Esa Korhonen
ecc7442358
Detect manual commands faster
...
Previous, MariaDBMonitor would wait until the next monitor interval before detecting
a new manual command. The commands are now checked every 100 ms.
2018-11-08 19:12:00 +02:00
Esa Korhonen
fb3ccc94d6
MXS-1944 Cleanup function parameters
...
The naming and ordering is now a bit more consistent between promote() and demote().
2018-11-07 12:55:59 +02:00
Esa Korhonen
e4e2235297
MXS-1944 Use time limited methods in rejoin
...
Uses switchover time limit, since the typical rejoin of a standalone server
is somewhat similar to a switchover.
2018-11-07 12:55:59 +02:00
Esa Korhonen
184e187732
Different cluster operations use different parameter types
...
Only the parameters used by all operations are in the common class.
2018-11-07 12:55:59 +02:00
Esa Korhonen
a4ce4e4613
MariaDBServer no longer uses ClusterOperation
...
The functions in the server class now only use the general parameters object.
2018-11-07 12:55:59 +02:00
Esa Korhonen
8877e7180b
Continue separation of ClusterOperation elements
2018-11-07 12:55:59 +02:00
Esa Korhonen
90e6ff078a
Divide ClusterOperation to two types
...
The main class was getting unwieldly and too general. Dividing the fields
helps adding support for other operation types.
This commit leaves most data duplicated, later commits clean up the affected code.
2018-11-07 12:55:59 +02:00
Markus Mäkelä
11a756a028
Detect undefined references at link time
...
Instruct the linker to make sure all symbols are resolved at link time.
2018-11-06 21:34:28 +02:00
Esa Korhonen
c5a54d2fe9
Disallow switchover promotion of a server low on disk space
...
This protects the user and also prevents a neverending series of
automatic switchovers in the case when all servers are low.
2018-11-06 11:44:50 +02:00
Markus Mäkelä
906d8cee5b
Format all files
...
Formatted all files with uncrustify.
2018-10-31 09:46:02 +02:00
Esa Korhonen
36b666898c
Fix connection merging
...
The conditional was inverted.
2018-10-16 16:09:38 +03:00
Esa Korhonen
2d61b78439
Fix low disk space maintenance
...
The setting didn't work because the code updated a status flag which
would be overwritten before being read. Also, promotion code now checks
that the server is not in maintenance.
2018-10-16 16:09:38 +03:00
Esa Korhonen
0c203fa02d
Don't redirect duplicate connections
...
The redirection method checks if a slave connection to the redirection
target already exists. If so, the connection is not modified. Also, failover
better detects duplicate connections during promotion.
2018-10-16 16:09:38 +03:00
Esa Korhonen
e930270b9c
Use copy when checking removed connections
...
The function modifies the reference parameter contents indirectly.
2018-10-16 16:09:38 +03:00