643514bbe4
Merge branch '2.3' into develop
2019-04-30 12:46:07 +03:00
7a5f11b752
Fix wrong check for wsrep_ready
...
wsrep_ready was check for ON/YES/1/true, but it has to be checked for OFF/NO/0/false as we are removing nodes, not joining.
2019-04-25 07:45:09 +03:00
9f7a7e473e
Enable galeramon to track wsrep_desync, wsrep_ready, wsrep_sst_donor_rejects_queries and wsrep_reject_queries
2019-04-25 07:45:09 +03:00
60c1b15d60
MXS-2441: Add slave support to galeramon
...
Slaves that replicate from galeramon now get the Slave status if they are
replicating from a joined Galera node.
2019-04-23 11:57:10 +03:00
a471417150
MXS-1922: Show GTIDs for Galera nodes
...
Galera generates GTIDs even if they are unique across all nodes and it
makes sense to display this.
2019-04-18 12:04:56 +03:00
6b14479b6c
MXS-2271 Rename MXS_MONITORED_SERVER to MonitorServer
2019-03-19 13:32:38 +02:00
14b4fa632a
MXS-2271 Move Monitor inside maxscale-namespace
...
Rearranged monitor.cc by namespace.
2019-03-15 12:57:35 +02:00
a8949b2560
MXS-2271 Move free monitor functions into classes
...
Functions are divided to MonitorManager, Monitor, or the monitored
server.
2019-03-12 10:29:55 +02:00
1858fe9127
MXS-2271 Monitor modifications always go through Monitor::configure()
...
Previously, runtime monitor modifications could directly alter monitor fields,
which could leave the text-form parameters and reality out-of-sync. Also,
the configure-function was not called for the entire monitor-object, only the
module-implementation.
Now, all modifications go through the overridden configure-function, which calls the
base-class function. As most configuration changes are given in text-form, this
removes the need for specific setters. The only exceptions are the server add/remove
operations, which must modify the text-form serverlist.
2019-03-12 10:19:45 +02:00
b357717149
MXS-2304 Use get_bool() instead of config_get_bool()
2019-02-01 17:18:49 +02:00
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
10dc0f53e0
MXS-2177 Move check_monitor_permissions() into class
2019-01-25 13:46:01 +02:00
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
9ac8bf93bb
MXS-2271 Rename monitor-related classes
...
MXS_MONITOR->Monitor
MonitorInstance->MonitorWorker
MonitorInstanceSimple->MonitorWorkerSimple
2019-01-22 15:59:17 +02:00
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
8b53e30678
MXS-2220 Move server status functions inside class
2019-01-08 15:12:47 +02:00
f0f9c21d1c
Merge branch '2.3' into develop
2019-01-07 10:54:42 +02:00
8c437c6440
Fix crash in galeramon
...
An std::string was assigned a null value which will cause a crash.
2019-01-04 12:00:48 +02:00
40485d746c
MXS-2220 Change server name to constant string
2019-01-03 12:13:15 +02:00
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
569c66fa28
MXS-2220 Store server parameters in stl containers
...
The custom parameters are now protected from concurrent access.
2018-12-18 12:34:06 +02:00
8a8ac26e32
Cleanup monitor.hh
...
Also removes an unused field from several monitors.
2018-12-11 10:41:56 +02:00
c0c9a9858d
MXS-2197 Rename maxscale/log.h to maxscale/log.hh
...
In files either include maxscale/log.hh or remove include entirelly
as maxscale/ccdefs.hh includes it.
2018-12-10 12:58:17 +02:00
ad12ff6d06
MXS-2196: Rename dcb.h to dcb.hh
2018-12-04 11:50:43 +02:00
3e5818fcb6
MXS-2205 Convert mysql_utils.h to .hh
2018-12-03 14:05:21 +02:00
77585bdb8c
MXS-2197: Make config.h and service.h C++ headers
...
This is the first step into converting the other headers into C++.
2018-11-30 12:15:57 +02:00
f87ff431c1
Merge branch '2.2' into 2.3
2018-11-27 11:46:47 +02:00
01628dd0de
Cleanup server version updating
2018-11-21 17:36:52 +02:00
84d45447fc
Fix formatting
2018-11-02 11:27:37 +02:00
cab40c54e4
Merge branch '2.2' into 2.3
2018-11-01 10:52:42 +02:00
9278da1f54
MXS-2067: Remove spinlock.h
...
Removed the spinlock.h header and replaced with plain pthread types and
functions.
2018-09-28 12:18:24 +03:00
71ffef5708
Partially revert 4ba011266843857bbd3201e5b925a47e88e1808f
...
Add back leading operator enforcement.
2018-09-20 15:57:30 +03:00
3b78996c4c
Merge branch '2.2' into develop
2018-09-17 13:02:53 +03:00
4e41978069
Merge branch '2.2' into develop
2018-09-14 10:41:43 +03:00
c447e5cf15
Uncrustify maxscale
...
See script directory for method. The script to run in the top level
MaxScale directory is called maxscale-uncrustify.sh, which uses
another script, list-src, from the same directory (so you need to set
your PATH). The uncrustify version was 0.66.
2018-09-09 22:26:19 +03:00
3f53eddbde
MXS-2020 Replace ss[_info]_dassert with mxb_assert[_message]
2018-08-22 11:34:59 +03:00
cf0aeed516
MXS-2014 Rename log_manager.h to log.h
...
There's nothing resembling a manager anymore.
2018-08-17 10:59:37 +03:00
b9ec3f5130
Monitor json diagnostics printing cleanup
...
The 'events' and 'script' config values were defined for every monitor.
Removed the extra definitions and moved the variables to MXS_MONITOR.
MariaDBMonitor was printing config values a second time, they are
already printed by the caller.
Moved the events enum definition to the internal header since it's no longer
required by modules.
Added a default config setting "all" to 'events' to clarify that it enables
all events.
2018-08-10 11:19:09 +03:00
fbce38878b
Turn server status macros to functions
2018-07-25 11:19:47 +03:00
a59c0c61ce
Remove depth field from SERVER
...
It was not really used anymore.
2018-06-29 10:54:34 +03:00
cc0299aee6
Update change date of 2.3
2018-06-25 10:07:52 +03:00
9d961ece3a
Clear galeramon server info in pre_tick
...
The server information in galeramon is gathered every monitoring
interval. To prevent stale information from being used, the server
information needs to be cleared at the start of each monitoring interval.
2018-06-18 14:25:05 +03:00
c798a4ae36
Remove use of HASHTABLE in galeramon
...
Replaced the HASHTABLE in galeramon with an std::unordered_map. This
simplifies the code by a great amount and makes it more readable. Removed
the extraneous functions that mostly logged debug information and
simplified the logic by removing redundant checks.
2018-06-11 10:22:23 +03:00
9263a06b15
Fix galera master selection
...
The master selection still used the current status instead of the pending
status. This caused the master selection to lag behind by one monitor
loop.
2018-06-11 10:22:23 +03:00
dd49d4faea
Check pending Synced status in Galeramon
...
The pending status must be used, not the current.
2018-06-08 14:41:11 +03:00
9f5358eac0
Remove server_get_parameter_nolock
...
The function is no longer needed as there is no recursive access to the
server.
2018-06-08 14:41:11 +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
ebcb807438
MXS-1775 Add default implementations
2018-06-01 13:48:15 +03:00
9b7e37e112
MXS-1775 Change MonitorInstance::configure() prototype
...
Now return boolean, to allow derived class to signal a failure
to configure.
2018-06-01 13:48:15 +03:00
0783af88ed
MXS-1775 Make general cleanup
...
Document and rearrrange so that things look nice and tidy.
2018-06-01 13:48:15 +03:00