Esa Korhonen
9fe57bfb9b
MXS-1703 Change type of m_master to MariaDBServer
2018-04-13 10:08:57 +03:00
Esa Korhonen
b6e421e13b
MXS-1703 Use a common header for all mariadbmon files
...
The mariadb_common.hh file is now a header with only common definitions
such as module name. The QueryResult-class was moved to MariaDBServer.
2018-04-12 13:06:36 +03:00
Esa Korhonen
ca9682f042
MXS-1703 Reorganize cluster manipulation methods
...
Just moving code around.
2018-04-12 13:06:36 +03:00
Esa Korhonen
4ba79e8d49
MXS-1703 Cleanup cluster manipulation code
...
Server arrays use the MariaDBServer type.
2018-04-12 13:06:22 +03:00
Esa Korhonen
b34e0000b4
MXS-1768 Allow autoselect for new master in switchover
...
Autoselection is allowed for current master only, or both current and new master.
Autoselection is not allowed for just the new master.
Also, do_switchover() writes to its parameters when autoselecting for
better error messages.
2018-04-12 10:04:36 +03:00
Esa Korhonen
d8a16dfe21
MXS-1703 Cleanup manual cluster modification command handling
...
Switchover checks are performed after monitor is stopped to be analogous to
other operations.
2018-04-12 10:04:36 +03:00
Esa Korhonen
7f06c02f89
MXS-1703 Reduce use of MXS_MONITORED_SERVER in main loop
...
The base class should only be used with general monitor functions
and macros.
2018-04-09 14:57:16 +03:00
Esa Korhonen
54121ed98b
MXS-1703 Cleanup monitor interval waiting
...
The monitor now measures how long it should wait to get one interval.
2018-04-09 10:56:31 +03:00
Esa Korhonen
8b642dbb5e
MXS-1703 Rename typedefs in preparation for more changes
...
Also moved some code around.
2018-04-09 10:55:55 +03:00
Esa Korhonen
71004a0ebc
MXS-1703 Rearrange functions
...
Some functions were moved to class methods, others were moved to a different file.
All MariaDBMonitor fields are now private. Cleaned header a bit.
2018-04-09 10:54:34 +03:00
Esa Korhonen
147355bbdb
MXS-1744 Use gtid querying instead of MASTER_GTID_WAIT when waiting for catchup
...
MASTER_GTID_WAIT uses gtid_slave_pos when comparing to the target gtid. This creates
problems with multi-domain gtids. It's simpler to just query the server for its
gtids repeatedly. Also, the method is now in MariaDBServer.
2018-04-09 10:51:16 +03:00
Esa Korhonen
174db469f3
MXS-1744 Rename and clean up gtid code, move to separate file
...
Renamed the two gtid-classes to better match MariaDB documentation. One
domain-server-sequence-combination is now a "Gtid", as these identify
a transaction. A "GtidList" contains a list of Gtid:s for handling multi-domain
server variables composed of multiple comma separated Gtid:s.
Removed unused methods and renamed some existing ones. Moved the Gtid-code
to its own file.
2018-04-06 10:23:02 +03:00
Esa Korhonen
e43678bed9
MXS-1744 Take new Gtid-class into use
...
Also cleaned up mariadbserver a bit.
2018-04-06 10:16:29 +03:00
Esa Korhonen
aaa8c92886
MXS-1744 Implement a Gtid-class which can store multi-domain gtid:s
...
The operations between Gtid:s are now more complicated so the class implements
them instead of the monitor. The Old Gtid-container has been renamed
GtidTriplet, and only stores the values for one triplet.
2018-04-04 15:53:42 +03:00
Esa Korhonen
923de851f9
MXS-1703 Move more functions to MariaDBServer
...
Also, the QueryResult integer reading method now only reads non-negative integers
since the server rarely returns negative values. This frees negative values for
indicating parsing error(s).
Gtid-class was moved back to utility.hh/.cc because the QueryResult-class requires it.
2018-03-28 13:47:07 +03:00
Esa Korhonen
1d5128fc5b
MXS-1703 Move do_show_slave_status() to MariaDBServer
...
Also took into use the QueryResult helper class.
2018-03-27 12:43:36 +03:00
Esa Korhonen
a350de1275
MXS-1703 Move MariaDBServer to its own file
...
generate_master_gtid_wait_cmd() is now a method of the Gtid-class.
2018-03-23 13:13:01 +02:00
Esa Korhonen
e5dddf5f74
MXS-1703 Clean up monitor main loop function
...
Several blocks have been moved to their own functions to shorten
the main function.
2018-03-22 15:45:25 +02:00
Esa Korhonen
0b5601a6c8
MXS-1703 Rename MySqlServerInfo, prepare to use it as the primary class
...
Renamed to MariaDBServer. The objects have a pointer to the underlying
MXS_MONITORED_SERVER. The purpose is to have the monitor mainly use
MariaDBServer instead of the current mix of MXS_MONITORED_SERVER* and
MySqlServerInfo and to simplify the mapping between the two. Also,
many methods can be moved to the MariaDBServer class later on.
Some functions have been converted from MXS_MONITORED_SERVER* to
MariaDBServer.
2018-03-21 15:35:36 +02:00
Esa Korhonen
09a22b26c8
MXS-1703 Fix uninitialized pointer in manual switchover
...
If the current master was given by user, maxscale would crash.
2018-03-20 14:30:15 +02:00
Esa Korhonen
1bef791572
MXS-1703 Miscellaneous cleanup
...
1. Move some remaining class data private.
2. Linebreak long lines.
3. Move current master autoselection inside class method.
4. Remove single-use constant #defines.
5. Monitor status is only written inside loop.
2018-03-19 16:08:28 +02:00
Esa Korhonen
4a6fc6b1c8
MXS-1703 Rearrange functions and methods
...
Lots of cleanup, but mostly distributing functions/methods to correct files.
2018-03-16 18:35:17 +02:00
Esa Korhonen
d32db326e4
MXS-1703 Manual switchover, failover, rejoin to class methods
...
This allows privatising several public methods. Also, cleaned up
monitor start and stop a bit.
2018-03-15 13:45:14 +02:00
Esa Korhonen
51188123c8
MXS-1703 Move cluster dicovery code to a separate file
...
Attempting to break the large main file to smaller chuncks.
2018-03-14 17:52:15 +02:00
Esa Korhonen
693854bd15
MXS-1703 Move most fields/methods to private
2018-03-14 15:08:53 +02:00
Esa Korhonen
5aeac621f9
MXS-1703 Most functions now moved to class methods
...
Cluster discovery functions still remain.
2018-03-14 15:08:53 +02:00
Esa Korhonen
fb55ea6015
MXS-1703 Move monitor main loop + other entrypoint contents to class methods
2018-03-14 15:08:53 +02:00
Esa Korhonen
ec1a4de480
MXS-1703 Some miscellaneous functions moved to class
2018-03-13 16:09:14 +02:00
Esa Korhonen
dad6a4f9bf
Merge branch '2.2' into develop
2018-03-13 11:26:41 +02:00
Esa Korhonen
6a8effaea1
MXS-1703: Move more functions to class methods
2018-03-12 10:58:11 +02:00
Esa Korhonen
728817b001
MXS-1703: Move fail/switch/rejoin functions to class
...
Most of the related functions are now class methods in a dedicated file.
2018-03-07 13:26:31 +02:00
Esa Korhonen
87911dc6b0
MXS-1703: refactor startup & shutdown
...
Startup now done in a static method. Constructor initializes some values.
Config parameters loaded in a separate method. Some things still need
looking.
2018-03-07 13:26:24 +02:00
Esa Korhonen
7a505d9976
MXS-1703: Move replication manipulation functions to a separate file
...
Refactoring continues. This update moves some of the replication manipulation
functions to a separate file and turns them into class methods.
2018-03-07 13:26:14 +02:00
Esa Korhonen
173f44b351
MXS-1703: Move additional classes to separate file
...
Also use stl containers in monitor definition.
2018-03-07 13:26:02 +02:00
Esa Korhonen
8ef1385d1a
MXS-1703: Turn MariaDB Monitor struct to class with public fields
...
Allows using std::string for strings. Also, cleanup.
2018-03-07 13:25:52 +02:00
Esa Korhonen
1de8f5ffdc
MXS-1703: Compile mariadbmon.h as C++
2018-03-07 13:25:29 +02:00
Johan Wikman
0bbf0246f9
Revert "Compile mariadbmon.h as C++"
...
This reverts commit 60d57aee61d96832aeec1b8a61d36803c38ca77c.
2018-02-24 15:40:21 +02:00
Johan Wikman
236e906d88
Revert "Turn MariaDB Monitor struct to class with public fields"
...
This reverts commit cb6f70119d9857b277306e9af5881fe29c574a32.
2018-02-24 15:37:50 +02:00
Johan Wikman
13661ab4a6
Revert "MariaDB Monitor: Move additional classes to separate file"
...
This reverts commit ff55106610881d55db88eca9e2ef6a056cbc8d51.
2018-02-24 15:35:36 +02:00
Johan Wikman
e721733434
Revert "MariaDBMon: Move replication manipulation functions to a separate file"
...
This reverts commit 8cdd23dda2add6486abb685834def94c72a09b6c.
2018-02-24 15:35:02 +02:00
Esa Korhonen
8cdd23dda2
MariaDBMon: Move replication manipulation functions to a separate file
...
Refactoring continues. This update moves some of the replication manipulation
functions to a separate file and turns them into class methods.
2018-02-22 10:51:52 +02:00
Esa Korhonen
ff55106610
MariaDB Monitor: Move additional classes to separate file
...
Also use stl containers in monitor definition.
2018-02-21 12:24:24 +02:00
Esa Korhonen
cb6f70119d
Turn MariaDB Monitor struct to class with public fields
...
Allows using std::string for strings. Also, cleanup.
2018-02-21 11:00:42 +02:00
Esa Korhonen
60d57aee61
Compile mariadbmon.h as C++
2018-02-20 11:14:21 +02:00