Esa Korhonen
b357717149
MXS-2304 Use get_bool() instead of config_get_bool()
2019-02-01 17:18:49 +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
8b53e30678
MXS-2220 Move server status functions inside class
2019-01-08 15:12:47 +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
3e5818fcb6
MXS-2205 Convert mysql_utils.h to .hh
2018-12-03 14:05:21 +02:00
Esa Korhonen
a1e1ac0012
Move string_printf to maxbase
...
Can be used in tests.
2018-11-29 12:21:40 +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
90da3a4d90
Remove MXS_MONITORED_SERVER mapping from MariaDBMon
...
The mapping was rarely used.
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
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
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
f554ef770b
Allow switchover for arbitrary topologies
...
The demoted server no longer needs to be the master.
2018-10-16 16:09:38 +03:00
Esa Korhonen
0cf8ea43f7
Redirect slaves of promotion target
...
This affects situations where the promoted server is a relay or multimaster
group member.
2018-10-16 16:09:38 +03:00
Esa Korhonen
2f76c48b06
Clarify server version error message
...
The required server version is now printed.
2018-10-11 11:41:46 +03:00
Esa Korhonen
c0945020ee
Only running slave connections are checked for non-gtid replication
...
This prevents auto-failover from being disabled due to recently generated or
non-functional slave connections.
2018-10-11 11:41:46 +03:00
Esa Korhonen
f2067fcf7c
Monitor cleanup
...
Removes unused code, compacts lines, moves code.
No functional changes.
2018-10-11 11:39:05 +03:00
Esa Korhonen
d0444ff054
SlaveStatus::to_short_string() uses member field
...
The owner server name is now stored in a field.
2018-10-10 17:26:48 +03:00
Esa Korhonen
c10fab977d
Cleanup slave connection copy & merge
...
The two cases are now separated. In switchover, the promotion and
demotion targets can swap connections between each other without worry.
In failover, the two connection lists must be merged semi-intelligently.
The slave connections of the two servers are now saved to the operation
descriptor object at the start of the operation. This allows slave status
updating during the operation.
2018-10-09 14:29:49 +03:00
Markus Mäkelä
75ea1b6ea1
Fix formatting of new(std::nothrow)
...
The code previously formatted everything as `new( std::nothrow)`.
2018-10-04 21:50:44 +03:00
Esa Korhonen
374ae2fc9b
Only redirect usable slaves
...
Prevents pointless retrying/waiting when redirecting slaves.
2018-10-04 20:11:12 +03:00
Esa Korhonen
80c731f02a
Fix verify_master_failure
...
The log message had changed, changed test to match. Also, the remaining
delay is now printed.
2018-10-04 13:38:10 +03:00
Esa Korhonen
86ae0c3e4d
MXS-1845 Remove unneeded code & cleanup
2018-10-04 13:38:10 +03:00
Esa Korhonen
a1b3a005dd
MXS-1845 Relax cluster operation support requirements
...
Support for more complicated topologies is quite close to completion and
in any case the function was too aggressive.
2018-10-04 13:09:28 +03:00
Esa Korhonen
30eb21914f
MXS-1845 Switchover cleanup
...
Several small changes:
Binlog is flushed at the end of old master demotion.
Only new master is required to catch up to old master.
Use the same replication check method as failover.
2018-10-04 11:45:33 +03:00
Esa Korhonen
49e85d9a28
MXS-1845 Add demotion code
...
The master demotion in switchover now uses query retrying with
the switchover time limit.
2018-10-04 11:45:33 +03:00
Niclas Antti
a4747f5b03
Revert the last commit, and an additional fix to the
...
"Fix code for warnings:" commit.
2018-10-03 17:22:10 +03:00
Niclas Antti
268e689dc5
Fix code for warnings: unused-but-set-variable and warn_unused_result.
2018-10-03 16:33:24 +03:00
Esa Korhonen
d14b9bfe43
MXS-1845 Cluster stabilization rewrite
...
No longer writes events to the master, as this creates problems if the
promoted server was not the overall master. Instead, the slave status
output is inspected.
2018-10-02 11:09:16 +03:00
Esa Korhonen
1ca5d02abb
MXS-1845 Add redirection code
...
Should work with multimaster replication.
2018-10-02 11:09:16 +03:00
Esa Korhonen
6b8443aba6
MXS-1845 Complete server promotion code
...
Now copies slave connections from the previous master. Promotion
code taken into use.
2018-10-01 18:06:39 +03:00
Esa Korhonen
fe81b399b2
Use maxbase time and clock classes instead of std::chrono
2018-09-27 17:04:59 +03:00
Esa Korhonen
dd9ff27743
MXS-1845 Rewrite server promotion code
...
In progress, does not yet overwrite existing code.
The new promotion mechanism automatically retries queries which timed out. It also
handles multimaster situations correctly.
2018-09-26 13:20:29 +03:00
Esa Korhonen
c58041d4fb
Format MariaDBMonitor source
...
Some parts were manually edited for better results. No functional changes.
2018-09-26 12:49:14 +03:00
Esa Korhonen
bfb1c3f1b3
MXS-1944 Store switchover parameters in an object
2018-09-26 12:42:26 +03:00
Esa Korhonen
c20a17238b
MXS-1944 Store failover parameters in an object
...
Several of the parameters are passed on from function to function. Having them all
in an object cleans things up and makes adding more data easier.
2018-09-26 12:26:35 +03:00
Esa Korhonen
a3adcea524
MXS-1712 Cleanup reset-replication
...
Now logs messages explaining what has been done. Scheduled events are
disabled/enabled during the operation. Redirection of slaves is done at
the end similar to failover/switchover.
2018-09-21 10:54:36 +03:00
Markus Mäkelä
71ffef5708
Partially revert 4ba011266843857bbd3201e5b925a47e88e1808f
...
Add back leading operator enforcement.
2018-09-20 15:57:30 +03:00
Esa Korhonen
02ac394e38
Cleanup slave status handling
...
Further reduce direct indexing slave status array to improve compatibility with
multimaster replication.
2018-09-19 13:37:24 +03:00
Esa Korhonen
56c84541df
MXS-1712 Add reset replication to MariaDB Monitor
...
The 'reset_replication' module command deletes all slave connections and binlogs,
sets gtid to sequence 0 and restarts replication from the given master. Should be
only used if gtid:s are incompatible but the actual data is known to be in sync.
2018-09-14 17:15:05 +03:00
Esa Korhonen
cb54880b99
MXS-1937 Cleanup event handling
...
Event handling is now enabled by default. If the monitor cannot query the EVENTS-
table (most likely because of missing credentials), print an error suggesting to
turn the feature off.
When disabling events on a rejoining standalone server (likely a former master),
disable binlog event recording for the session. This prevents the ALTER EVENT
queries from generating binlog events.
Also added documentation and combined similar parts in the code.
2018-09-14 16:54:24 +03:00