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 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						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 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						75ea1b6ea1 
					 
					
						
						
							
							Fix formatting of new(std::nothrow)  
						
						... 
						
						
						
						The code previously formatted everything as `new( std::nothrow)`. 
						
						
					 
					
						2018-10-04 21:50:44 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						374ae2fc9b 
					 
					
						
						
							
							Only redirect usable slaves  
						
						... 
						
						
						
						Prevents pointless retrying/waiting when redirecting slaves. 
						
						
					 
					
						2018-10-04 20:11:12 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						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 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						86ae0c3e4d 
					 
					
						
						
							
							MXS-1845 Remove unneeded code & cleanup  
						
						
						
						
					 
					
						2018-10-04 13:38:10 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						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 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						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 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						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 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						a4747f5b03 
					 
					
						
						
							
							Revert the last commit, and an additional fix to the  
						
						... 
						
						
						
						"Fix code for warnings:" commit. 
						
						
					 
					
						2018-10-03 17:22:10 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						268e689dc5 
					 
					
						
						
							
							Fix code for warnings: unused-but-set-variable and warn_unused_result.  
						
						
						
						
					 
					
						2018-10-03 16:33:24 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						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 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						1ca5d02abb 
					 
					
						
						
							
							MXS-1845 Add redirection code  
						
						... 
						
						
						
						Should work with multimaster replication. 
						
						
					 
					
						2018-10-02 11:09:16 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						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 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						fe81b399b2 
					 
					
						
						
							
							Use maxbase time and clock classes instead of std::chrono  
						
						
						
						
					 
					
						2018-09-27 17:04:59 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						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 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						c58041d4fb 
					 
					
						
						
							
							Format MariaDBMonitor source  
						
						... 
						
						
						
						Some parts were manually edited for better results. No functional changes. 
						
						
					 
					
						2018-09-26 12:49:14 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						bfb1c3f1b3 
					 
					
						
						
							
							MXS-1944 Store switchover parameters in an object  
						
						
						
						
					 
					
						2018-09-26 12:42:26 +03:00 
						 
				 
			
				
					
						
					 
					
						
						
							
						
						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