2a1925744b
MXS-2546 Separate slave connection settings to its own class
...
The settings are different from the other fields in that they should not change
on their own. Most manipulation functions only require the settings.
Also takes into use a class for host and port data.
2019-07-19 17:00:18 +03:00
0ba779d5a2
Update 2.4.0 Change Date
2019-06-25 10:11:55 +03:00
5528a8e8fb
Merge branch '2.3' into develop
2019-06-19 17:27:57 +03:00
39df829384
Don't kick out super-users when performing rejoin
...
When rejoining a server, preventing writes is not as essential as in switchover.
2019-06-19 17:14:39 +03:00
64d25a48bd
Merge commit 'a60bd376108f71fccf40001c1496f32c11137fe4' into develop
2019-06-18 15:51:17 +03:00
a60bd37610
MXS-2367 Print slave connection errors when replication fails
...
The slave connection I/O-tread stays running if replication credentials are
wrong when connecting to master. This causes a switchover/failover timeout.
When this happens, print the error in the slave connection status as this
clarifies the problem to the user.
2019-06-18 15:02:21 +03:00
d0e6921604
Improve switchover undo when new master fails
...
Now the monitor properly restores the old master by running promotion code on it.
Also, binlog is disabled when enabling server events.
2019-06-11 17:15:43 +03:00
b49aeae1c8
Avoid using obsolete functions in reset-replication
...
Removes some duplicate functions.
2019-06-10 15:04:25 +03:00
fc9ef715bd
Move last MariaDB-Monitor settings inside class
2019-06-07 11:42:21 +03:00
650230455a
MXS-2169 Allow unsafe failover when 'enforce_simple_topology' is on
...
If gtid of master is unknown (as is typical when master is down when MaxScale
starts) the domain id is guessed from the slaves instead. This is usually
safe.
2019-05-20 10:43:54 +03:00
476dc80bc9
Move settings shared between MariaDBMonitor and MariaDBServer to container
...
Removes the need to communicate these settings via call parameters.
2019-05-10 14:48:41 +03:00
d10c7a4140
Rearrange MariaDB-Monitor settings variables
...
Moves some of the settings to a dedicated container to separate them
from other fields.
2019-05-10 14:48:41 +03:00
418ccf861d
Format routers and monitors
2019-05-10 10:31:12 +03:00
067660e3e7
Merge branch '2.3' into develop
2019-04-16 16:55:12 +03:00
2ca9337da1
Merge branch '2.2' into 2.3
2019-04-16 16:34:57 +03:00
3c188bf421
Merge branch '2.3' into develop
2019-04-16 11:23:49 +03:00
f8a22d0ac0
MXS-2344 Add setting for enabling SSL for replication
...
If the monitor setting "replication_master_ssl" is set to on, any CHANGE MASTER TO-command
will have MASTER_SSL=1. If set to off or unset, MASTER_SSL is left unchanged to match existing
behaviour.
2019-04-15 19:15:45 +03:00
d89f0c062b
MXS-2271 Change Monitor->m_name to std::string
...
Also, monitor address is no longer printed.
2019-04-02 13:08:38 +03:00
8abe1c8448
Merge branch '2.3' into develop
2019-03-11 15:46:18 +02:00
c8078c99e5
MXS-2325 Fix Debian 8 compilation
2019-03-11 14:39:02 +02:00
83fc3b1bc2
Merge branch '2.3' into develop
2019-03-04 17:43:53 +02:00
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
2a63fb0776
MXS-2304 Store config parameter container as value in monitor and service
2019-02-22 16:53:17 +02:00
b357717149
MXS-2304 Use get_bool() instead of config_get_bool()
2019-02-01 17:18:49 +02:00
6326172325
MXS-2271 Rename basic Monitor fields
...
Adds the m_-prefix.
2019-01-28 15:41:00 +02:00
8b53e30678
MXS-2220 Move server status functions inside class
2019-01-08 15:12:47 +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
3e5818fcb6
MXS-2205 Convert mysql_utils.h to .hh
2018-12-03 14:05:21 +02:00
a1e1ac0012
Move string_printf to maxbase
...
Can be used in tests.
2018-11-29 12:21:40 +02:00
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
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
90da3a4d90
Remove MXS_MONITORED_SERVER mapping from MariaDBMon
...
The mapping was rarely used.
2018-11-21 10:30:11 +02:00
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
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
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
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
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
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
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
8877e7180b
Continue separation of ClusterOperation elements
2018-11-07 12:55:59 +02:00
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
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
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
f554ef770b
Allow switchover for arbitrary topologies
...
The demoted server no longer needs to be the master.
2018-10-16 16:09:38 +03:00
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
2f76c48b06
Clarify server version error message
...
The required server version is now printed.
2018-10-11 11:41:46 +03:00
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
f2067fcf7c
Monitor cleanup
...
Removes unused code, compacts lines, moves code.
No functional changes.
2018-10-11 11:39:05 +03:00
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