Commit Graph

14540 Commits

Author SHA1 Message Date
c04b7bc414 Fix typo in install_build_depends.sh 2019-12-14 22:13:30 +02:00
2c44ed0e6c Merge branch '2.3' into 2.4 2019-12-13 13:57:32 +02:00
fe92c4e408 Remove Cache filter storage_rocksdb documentation
The code is no longer present in MaxScale.
2019-12-13 13:57:21 +02:00
ad323bb837 Merge branch '2.3' into 2.4 2019-12-13 11:24:42 +02:00
e057c751cd Improve handleError error messages
The hangup and error handlers now have unique messages. Although the
behavior in the handlers is practically the same in both cases, the cause
of the error is not the same.

If a socket error is present, it is added to the error message. If an
error is present, it should clearly show the reason why the TCP socket was
closed.

The is_fake_event boolean helps distinguish fake events from real
ones. This makes figuring out the real source of hangup events easier.
2019-12-13 10:50:04 +02:00
c1b5d70eea MXS-2803: Write all buffered data
Since the queued queries will never be inspected after the COM_CHANGE_USER
completes, they should all be written instead of only the first packet.
2019-12-13 10:49:36 +02:00
e909632e9e MXS-2802: Route COM_RESET_CONNECTION to all servers
The purpose of a COM_RESET_CONNECTION is to reset the connection
states. This means it should be routed to all servers, the same as all
session state modifying commands.
2019-12-13 10:49:36 +02:00
934b865b25 Add missing commands to STRPACKETTYPE
The MariaDB specific commands were missing.
2019-12-13 10:49:36 +02:00
2b56737868 Fix debug assertion
The GWBUF_IS_CONTIGUOUS macro changed in 2.4 and it no longer allows null
arguments.
2019-12-13 10:49:36 +02:00
90f7c69f9d Fix database renaming with no default database
If no default database was given, it was possible that the code would end
up in an endless loop.
2019-12-13 10:49:35 +02:00
44664132bc MXS-2792 Improve monitor script documentation
Apparently the previous script example was not working. Moved the
updated example to Monitor-Common.md.
2019-12-13 10:38:07 +02:00
da682b7777 Fix trailing whitespace in install_build_deps.sh 2019-12-12 23:31:38 +02:00
2f3afa943c Add missing quotes to REST API documentation
The example data is JSON, not JavaScript, which means that object keys
must be double-quoted.
2019-12-12 10:09:12 +02:00
ba46cb4434 Enable 'PowerTools' yum repo if it is present
In CentOS8 some -devel packages are moved to PowerTools repository which
is disabled by default. install_build_depends now checks if this repo
is in the repolist then add enablerepo=PowerTools to the yum command
2019-12-11 17:35:32 +02:00
2fc42fca1e Remove Docker installation from build script
Installation of Docker is removed from build script because it is done
in the not very reliable way and can fail and cause build failure.
E.g. this installation causes conflict with existing Docker.
2019-12-11 13:08:27 +02:00
450ffaa169 MXS-2590 SmartQuery system test 2019-12-10 15:54:52 +02:00
d44aff6c3d Merge branch '2.3' into 2.4 2019-12-10 11:12:41 +02:00
7be6ee1616 MXS-2789: Make stale journal messages notifications
These events are of no actual consequence and can be safely ignored. It is
simply informational.
2019-12-10 11:11:05 +02:00
d7618676d1 Merge branch '2.3' into 2.4 2019-12-10 10:04:52 +02:00
5ab6c472a0 Fix parameter name for kerberos_setup_ssl config 2019-12-10 09:48:58 +02:00
cb4e43b05a MXS-2794: Log changes in loaded users
By checking whether the users have changed whenever they are reloaded, we
improve the visibility of the user reloading process. Using a checksum
allows us to easily compress the information with acceptable loss of
accuracy. Using a CAS loop prevents duplicate messages without losing any
updates even if multiple user reloads result in different outcomes.
2019-12-10 09:41:42 +02:00
e36c7efa25 MXS-2785: Report PCRE2 errors
The substitution string could cause errors.
2019-12-09 17:53:59 +02:00
b32546e839 MXS-2785: Add rewrite test
The test checks that database rewriting works.
2019-12-09 17:53:59 +02:00
1ef130a870 MXS-2785: Update binlogfilter documentation
Updated the documentation with the regex changes and listed some of the
caveats of rewriting SQL with regular expressions.
2019-12-09 17:53:59 +02:00
689a284892 MXS-2785: Make rewrite_src a regular expression
The use of a regular expression allows multiple rewrite rules to be
combined into one. This allows more versatile conversions but, given the
simple nature of regular expressions, also makes accidental changes more
likely.

Addd mxs::pcre2_substitute that is a more C++-friendly version of
mxs_pcre2_substitute to make. This makes string replacement a lot easier
to do when the source and destination are not C strings.
2019-12-09 17:53:59 +02:00
f3f2748490 MXS-2785: Document database rewriting
Documented the new features and the limitations that exist with it.
2019-12-09 17:53:59 +02:00
d23f0366a8 MXS-2785: Prevent broken replication setups
When rewrite_src and rewrite_dest have different lengths, the slave must
use GTID based replication. This removes the need for one-to-one matching
between the slave's relay log and the master's binlog which gets broken
when event lengths are modified due to event rewriting.
2019-12-09 17:53:59 +02:00
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