Esa Korhonen
8abe1c8448
Merge branch '2.3' into develop
2019-03-11 15:46:18 +02:00
Esa Korhonen
c8078c99e5
MXS-2325 Fix Debian 8 compilation
2019-03-11 14:39:02 +02:00
Esa Korhonen
50f588db3e
MXS-2370 Clarify query timeout warning message
...
The message now more clearly states if the failure was due to timeout or
a different Connector-C error.
2019-03-11 13:20:50 +02:00
Markus Mäkelä
9572ff84ea
Merge branch '2.3' into develop
2019-03-05 10:37:56 +02:00
Markus Mäkelä
6332f0876b
Merge remote-tracking branch 'origin/2.3' into 2.3
2019-03-05 04:59:26 +02:00
Esa Korhonen
83fc3b1bc2
Merge branch '2.3' into develop
2019-03-04 17:43:53 +02:00
Esa Korhonen
4fd4b726a1
MXS-2325 Only enable events that were enabled on the master
...
The monitor now continuously updates a list of enabled server events. When
promoting a new master in failover/switchover, only events that were enabled
on the previous master are enabled on the new. This avoids enabling events
that may have been disabled on the master yet stayed in the SLAVESIDE_DISABLED-
state on the slave.
In the case of reset-replication command, events on the new master are only
enabled if the monitor had a master when the command was launched. Otherwise
all events remain disabled.
2019-03-04 16:00:07 +02:00
Markus Mäkelä
7904cdaefb
Fix assume_unique_hostnames
...
It was always set to true when the servers were created.
2019-03-04 08:53:12 +02:00
Esa Korhonen
2a63fb0776
MXS-2304 Store config parameter container as value in monitor and service
2019-02-22 16:53:17 +02:00
Esa Korhonen
5828c93112
MXS-2304 Convert static config parameter methods to non-static
...
Parameter handling changed in several places.
2019-02-22 15:17:55 +02:00
Johan Wikman
7a99b5d253
MXS-2314 Define monitor state in terms of worker state
...
Worker::STOPPED -> MONITOR_STATE_STOPPED
Worker::POLLING -> MONITOR_STATE_RUNNING
Worker::PROCESSING -> MONITOR_STATE_RUNNING
By defining the monitor state from the worker state there is
no risk they will ever get out of sync. And there is one thing
less to maintain.
2019-02-11 13:03:18 +02:00
Esa Korhonen
ed80680da9
MXS-2304 Add ctor/dtor and other functions to parameter class
...
The manipulation functions are currently static so that the container can be initialized
if required. This will be fixed later.
The new functions are taken into use in monitor management.
2019-02-07 13:51:16 +02:00
Esa Korhonen
5a409f313a
MXS-2304 Config string handling cleanup
...
Using correct functions in most cases.
2019-02-05 10:52:46 +02:00
Esa Korhonen
b357717149
MXS-2304 Use get_bool() instead of config_get_bool()
2019-02-01 17:18:49 +02:00
Esa Korhonen
7cb969b0d9
MXS-2271 Clean up server list parsing functions, use in monitor config
...
The functions now return the parsed array.
2019-02-01 14:59:51 +02:00
Esa Korhonen
c8a84cebd0
MXS-2304 Use get_integer() instead of config_get_integer()
2019-01-31 18:12:25 +02:00
Esa Korhonen
ce9b49d8d5
MXS-2271 Move script-related settings to the settings-container
...
Also moves related functions to class methods.
2019-01-31 17:05:34 +02:00
Esa Korhonen
0903648542
MXS-2271 Move connection settings inside settings struct
...
Since the settings are now protected fields, all related functions were
moved inside the monitor class. mon_ping_or_connect_to_db() is now a method
of MXS_MONITORED_SERVER. The connection settings class is defined inside the
server since that is the class actually using the settings.
2019-01-31 17:00:47 +02:00
Esa Korhonen
6326172325
MXS-2271 Rename basic Monitor fields
...
Adds the m_-prefix.
2019-01-28 15:41:00 +02:00
Esa Korhonen
cef4e836bc
MXS-2271 Store monitored servers in a vector
...
The array is still a public member because it's used in several non-member functions.
2019-01-28 15:41:00 +02:00
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