Commit Graph

12169 Commits

Author SHA1 Message Date
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
20af9afb49 Merge branch '2.2' into 2.3 2018-10-16 11:10:48 +03:00
c3cd119454 Speed up mm test
The test did not use the wait_for_monitor function to sync with the
monitor. This function speeds up the testing greatly by removing
unnecessary sleeps from it.

Also reduced the amount of data inserted into the cluster. There's no real
need to test with large amounts of data as it is only a functional test.
2018-10-16 11:06:06 +03:00
92057f6ff9 Add more logging to readwritesplit
When a read-only transaction fails due to a connection error, no message
would be logged. Also added an info level message for the case when a
backend connection would get closed before the session is in the correct
state and a debug assertion that the router session should never be closed
when the handleError method is called.
2018-10-16 11:04:57 +03:00
de653437b2 Document server priority behavior
If all of the candidate servers have the same priority, the server that is
first listed in the servers parameter is chosen.
2018-10-16 11:04:57 +03:00
a2ef874fe6 Fix max_sescmd_history documentation
The session commands are now always stored but they are stored as
references. Also clarified that the feature was disabled in older
versions.
2018-10-16 10:59:14 +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
c68d0e36c7 Merge branch '2.3.0' into 2.3 2018-10-11 11:22:07 +03:00
1c70273cb7 Fix typo in 2.3 upgrading document 2018-10-11 11:21:25 +03:00
49a61db09e Merge branch '2.3.0' into 2.3 2018-10-11 11:12:43 +03:00
6170a2193d Merge branch '2.2' into 2.3 2018-10-11 11:12:31 +03:00
5906e28a2c Clarify namedserverfilter documentation
The example configuration had wrong server names.
2018-10-11 10:42:09 +03:00
2ac4df7772 Remove empty heading 2018-10-11 10:40:55 +03:00
f9e4837f44 Add note of maxadmin list threads to release notes 2018-10-11 10:38:15 +03:00
9a939d3fba Update MaxAdmin documentation
'show threads' documentation was completely out of date.
2018-10-11 10:20:07 +03:00
c7f07ec6b1 Add Upgrading document 2018-10-11 10:20:07 +03:00
6c1486ed06 Fix cache release notes note 2018-10-11 10:20:07 +03:00
4659c45a6b Updated release notes of MariaDBMonitor
One added feature was missing. Also added some links.
2018-10-10 18:32:46 +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
2f1512a22d Cleanup slave connection removal during promotion/demotion
The removing and slave status updating is now separated to a function.
As the MariaDBServer object now contains the updated slave connections,
keeping track of removed connections is no longer required.
2018-10-09 14:29:49 +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
4d6f961695 Cleanup mariadbserver.hh 2018-10-09 14:29:49 +03:00
5cc4eb08ee Clean up mariadbmon.hh 2018-10-09 14:29:49 +03:00
68d65682b5 Reorganize MariaDBServer code
The server-class keeps growing, so the additional classes are moved out of
the main class file.
2018-10-09 14:29:49 +03:00
0a04cb2d48 Clarify namedserverfilter documentation
The example configuration had wrong server names.
2018-10-09 13:42:56 +03:00
7e7ee3e180 Update MaxAdmin documentation
'show threads' documentation was completely out of date.
2018-10-09 11:36:47 +03:00
7ff69df388 Merge branch '2.3.0' into 2.3 2018-10-09 10:17:34 +03:00
ad0f87faef Remove all 2.2 release notes from 2.3.
By convention, the release note directory of a minor version only
contains the release notes of that version.
2018-10-09 09:44:10 +03:00
60100f1b2f Bump 2.3 version number 2018-10-09 09:32:19 +03:00
0d64bfc558 Update 2.3.0 release date. 2018-10-09 09:26:33 +03:00
e3ef99f1f7 Fix check for unit tests in scripts 2018-10-08 17:18:02 +03:00
9789159427 Add missing type 2018-10-08 10:21:51 +03:00
13d0c818f3 Stop keepalived after the test
Stopping keepalived on all nodes prevents it from interfering with tests
run after it.
2018-10-08 10:08:46 +03:00
a0d12191da Create test database when processing config template
For an unknown reason, the mxs874_slave_recovery test times out unless the
test database is created when the config templates are being processed.
2018-10-08 09:53:30 +03:00
a9a20bf16b Fail faster in mxs1929_filter_runtime
If the test fails, there's no point in continuing with the load generation
as it only serves to slow things down. In few cases the test caused
std::bad_alloc to be thrown which prematurely stopped the ctest run.
2018-10-08 01:07:22 +03:00
166e335e95 Set version to 2.3.0
Added new version file and started versioning for 2.3.
2018-10-07 10:34:04 +03:00
9c52ba5c07 Update release notes and documentation for the Throttle Filter
and Adaptive Routing
2018-10-05 13:52:42 +03:00
59d45aabb4 MXS-1980 Update documentation
And release note and change log.
2018-10-05 12:16:18 +03:00
3d06b5129d MXS-1980 Extend test program
Now the test program will

1) Write to each node in a Galera cluster and verify that the data
   ends up in the slave.
2) At the end of 1) execute STOP SLAVE and START SLAVE to check that
   replication can be stopped and started again (won't work unless
   each node has the same server_id and value for @@log_bin_basename).
3) Block the node BLR is replicating from and expect it to connect
   to the next configured master and that replication continues to
   work. Do that for all nodes.
4) Stop MaxScale and restart it and expect 3) to work. That checks
   that BLR saves all necessary information in master.ini and is
   capable of reading it.
2018-10-05 12:16:18 +03:00
c4e1e19f4a MXS-1980 Check that Galera replication works
It should be possible to START SLAVE and STOP SLAVE irrespective
of which Galera node updates are mode to.

That will be the case if @@log_slave_updates is on and each node
in the Galera cluster have the same server id. Otherwise it will
fail with the current incarnation of BLR.
2018-10-05 12:16:18 +03:00
fed5037081 Make copying of SSL certs conditional
If the certs exist, they are not copied. This makes testing slightly
faster.
2018-10-05 11:25:50 +03:00
8029bdff4f Process maxscale.cnf template with one sed command
Using a single sed command with multiple -e flags is faster than multiple
separate sed commands.
2018-10-05 11:25:49 +03:00
59a1ef359d Fail faster in builds
If `make` fails, there's no point in doing anything else.
2018-10-05 11:02:06 +03:00
c10f56bea1 Fix binlogfilter build failure
The macros weren't apparently included so swapped them to explicit format
strings.
2018-10-05 11:00:08 +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
1af43d4ff5 Speed up mxs1961_standalone_rejoin
The waits were needlessly long. Also cleaned up a bit.
2018-10-04 20:29:19 +03:00
a398da58a4 Add sleep to execute_cmd_time_limit
If the query fails instantly, the retries end up busy-looping. Now
each try is at least one second.
2018-10-04 20:19:57 +03:00