Commit Graph

14213 Commits

Author SHA1 Message Date
3de5e4edcd MXS-2785: Allow event size changes due to rewrites
The replication events use a redundant format that has both the length of
the event and the position of the next event. The length can be modified
so that the next event position of the previous event and the length of
the curren event can be different. This includes overlap of the events
where the next event position of an event is "inside" the current event.

The next event position must retain its original value as that allows
replication slaves to reconnect with the correct position when file and
position based replication is used. For GTID replication, the slave asks
for the coordinates from the master and uses those.

When a slave receives a heartbeat event from a master, it checks that the
binlog name matches and that the next event position in the event is not
behind the slave's relay log position. These events must be modified to
contain a fake next event position that will never be reached by the
slave. This makes sure that the simple sanity checks never fail even if
we've caused the slave's relay log to be ahead of the master's binlog.
2019-12-09 17:53:59 +02:00
babce13ec6 Add GWBUF pretty-printing
The gwbuf_hexdump_pretty displays the hex contents of the buffer alongside
the human-readable version of it. The text version helps identify parts of
the buffer that contain text which makes protocol data decoding easier.
2019-12-09 17:53:58 +02:00
e829cae8b1 MXS-2785: Add rewrite_src and rewrite_dest parameters
The parameters allow rudimentary database rewriting in the replication
stream. This is still very limited as the replacement must have the same
length as the original. In theory it could be shorter without causing
problems but making it longer is not easy.
2019-12-09 17:53:58 +02:00
c480a44852 Merge branch '2.3' into 2.4 2019-12-05 16:54:44 +02:00
e673c3eab0 MXS-2788 Use case-insensitive string comparisons
When names are matched in rules and in resultsets, case insensitive
matching must be used.
2019-12-05 13:44:18 +02:00
694c0e784b MXS-2788 Add test that reveals problem
String comparison when checking whether a columns should be masked
is made in a case-insensitive way.
2019-12-05 13:02:05 +02:00
155ac8fd01 Merge branch '2.3' into 2.4 2019-12-05 10:48:23 +02:00
4f91d8aa77 Merge branch '2.3.15' into 2.3 2019-12-05 10:47:38 +02:00
578004677f Update 2.3.15 release date 2019-12-05 10:36:48 +02:00
5d1c7e88c7 Merge branch '2.3' into 2.4 2019-12-05 10:21:41 +02:00
fa656c6870 Disable peer verification in kerberos_setup_ssl
The test uses the command line client which doesn't provide certificates.
2019-12-05 10:21:25 +02:00
c5c6cc0363 Update 2.3 maintenance version 2019-12-05 10:11:15 +02:00
a7ca73a0de Disable peer verification in kerberos_setup_ssl
The test uses the command line client which doesn't provide certificates.
2019-12-05 10:01:02 +02:00
56a24612dd Merge branch '2.3' into 2.4 2019-12-04 13:59:46 +02:00
acb8c70515 Skip timezone info for unit tests
The docker-based unit tests don't require timezones and not loading them
speeds things up greatly.
2019-12-04 13:27:24 +02:00
216ce9b4ee Add 2.3.15 release notes and update change log 2019-12-04 11:29:45 +02:00
52eafb7926 Fix binlogfilter capabilities
The binlogfilter needs to read results one packet at a time but it needs
resultsets to be collected into a single buffer. This behavior is
guaranteed implicitly when the binlogrouter is used but is not present
when it is used without it. To support the use of the binlogfilter with
readconnroute, the filter must properly declare the capabilities.
2019-12-03 11:06:52 +02:00
5351d43065 Merge branch '2.3' into 2.4 2019-12-03 10:40:57 +02:00
9e9abbe8be MXS-2786: Require certificates when verifying peers
When peer verification is enabled, clients must present a certificate.
2019-12-03 10:34:00 +02:00
9dceff7d9d Merge branch '2.3' into 2.4 2019-12-03 10:05:34 +02:00
255071efce Add version to show servers output
This was missing in maxctrl but it was present in maxadmin.
2019-12-03 09:58:24 +02:00
1e57c2cb67 MXS-2643: Mention Galera in causal_reads documentation
causal_reads does not work with servers that update their state via
mechanisms other than the standard replication. In practice this is just
another Galera limitation.
2019-12-03 09:58:23 +02:00
b1961042a7 MXS-2776: Fix unwanted regex checks on COMMIT
The default database check would be done even on transaction management
commands which would cause them to always be skipped when a match was
defined.
2019-12-02 09:08:00 +02:00
5ae2d02215 Merge branch '2.3' of github.com:mariadb-corporation/MaxScale into 2.3 2019-11-30 22:35:47 +02:00
7a5e50f980 Merge branch '2.3' into 2.4 2019-11-29 16:41:07 +02:00
521c75505b Properly detect SSL initialization failures
The return value was not checked in the function that created it.
2019-11-29 16:31:07 +02:00
ab8393939b MXS-2773: Make host blocking an optional feature
In cases where servers are known to be down on startup, this feature does
more harm than good. Disabling it in these cases would be preferable but
due to how the parameter is used, it is not possible.
2019-11-29 16:31:07 +02:00
09e6d9eeae Fix max_auth_errors_until_block formatting
The heading was one level too deep.
2019-11-29 16:31:07 +02:00
cd9b82ba09 Print OpenSSL errors on CA cert errors
This helps figure out why the certificate is not OK.
2019-11-29 16:16:35 +02:00
fb23f3eb3e OpenSSL 1.1 supports TLSv1.1 and TLSv1.2
TLSv1.0 is the only version that newer OpenSSL versions do not support.
2019-11-29 16:16:35 +02:00
b5ada0db7e MXS-2762: Document ssl_version changes 2019-11-29 16:16:35 +02:00
374d5b28d1 MXS-2759: Optimize user loading query
The SQL for the second recursive CTE table can be optimized by adding a
where condition on the recursive part that rules out users that are not
roles. The functionality remains the same as only roles can be granted to
users.
2019-11-29 16:16:34 +02:00
d45ea8d489 Merge branch '2.3' into 2.4 2019-11-29 13:59:16 +02:00
99d1ecd472 More reliable way to determine package manager type during the build
Checking presence of 'apt', 'yum' or 'zypper' command is not very
reliable way to determine package manager type.
E.g. OpenSUSE 25 has 'apt' which is wrapper over 'zypper' or rpm tools
can be installed on Ubuntu.
More relible way is to check /etc/*-release file and if it is not
availabe try to check presence of apt, yum or zypper
2019-11-28 16:10:57 +02:00
d41975dde8 MXS-2782 Return nullptr if non-existing worker is asked for
Earlier assert in debug mode and garbage in release mode.
2019-11-28 14:33:00 +02:00
19db46b1d3 Merge branch '2.3' into 2.4 2019-11-28 13:25:45 +02:00
5743f4eaa1 MXS-2777: Create drop-in systemd directory
The directory for user-configurable drop-in systemd files is now created
on installation.
2019-11-28 08:34:57 +02:00
c5ce940b12 Merge branch '2.3' into 2.4 2019-11-28 08:05:44 +02:00
774e9bc3f0 MXS-2762: Add ssl_version=TLSv13
Added new ssl_version value for TLSv1.3. This allows the list of accepted
protocol versions to be limited to all supported protocols. Previously
TLSv1.3 was only available with ssl_version=MAX.

Also fixed the enum value serialization to use a lowercase v. This causes
them to have the same value as the one used in the enum.
2019-11-28 07:48:01 +02:00
f7f865d4c3 MXS-2763: Log correct error for unsupported TLS versions
Previously when ssl_version was used with a value that is not supported on
the system, an unknown parameter error was returned. This could be
confusing and logging a proper error message should make it clear.
2019-11-28 07:48:01 +02:00
218354081c Merge branch '2.3' into 2.4 2019-11-22 12:53:39 +02:00
53ee7072ee MXS-2775 Document semisync limitations with failover
The previous content was a bit too positive about semisync replication
ensuring a clean failover.
2019-11-22 12:52:36 +02:00
c36fc6cb83 Merge branch '2.3' into 2.4 2019-11-20 09:25:29 +02:00
cc52be8df2 Explicitly state the owner, group and access parameters to the MariaDB configuration file during the server reset 2019-11-20 09:20:13 +02:00
c813ff836e Merge branch '2.4' of github.com:mariadb-corporation/MaxScale into 2.4 2019-11-19 22:37:11 +02:00
7295643f7d Merge branch '2.3' into 2.4 2019-11-19 17:04:38 +02:00
5e4d556c85 Remove spaces from value which were read from *_network_config
MDBCI can put spaces around values in the *_network_config file which
can cause ssh connection failures in the tests. To fix it removing all
spaces from all values which were read from *_network_config
2019-11-19 11:52:33 +02:00
ed3548b825 MXS-2770 Fix mxs2167_extra_port
1) Only two backends are set up for extra-port
2) The setting is checked to work by connecting directly to servers
3) The server connections are saturated before starting MaxScale
4) MaxScale logs are checked for extra-port-related messages
2019-11-18 13:31:29 +02:00
87aa3edb95 Merge branch '2.4.4' into 2.4 2019-11-14 10:15:39 +02:00
d691567c00 Update 2.4 maintenance version 2019-11-14 10:13:14 +02:00