Commit Graph

13650 Commits

Author SHA1 Message Date
c5eb97aff0 Remove white-space in names in config file 2019-06-18 17:10:19 +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
6cbe9d1258 MXS-2550: Fix default module parameters
The parameters weren't processed when they were added from the module
defaults.
2019-06-18 07:06:51 +03:00
ca532ec769 MXS-2565: Fix list servers with sockets
The address and socket parameters need special handling.
2019-06-17 20:50:46 +03:00
372c9a8350 Fix configuration guide documentation
Fixed limitations section, the heading depths and the document name,
corrected localhost_match_wildcard_host, added deprecation notes where
required.
2019-06-17 14:07:52 +03:00
002281599e MXS-2563: Add test case
Added a test case that reproduces the debug assertion with the old code
and verifies that it is fixed with the new one.
2019-06-17 14:07:52 +03:00
f6a5b59067 MXS-2563: Fix query retrying on slave failure
If one slave is executing a query while another one is executing a session
command and the one that is executing the session command fails, the
ongoing query would get retried even though the server that failed was not
executing it. If the server was executing a session command, nothing needs
to be done.
2019-06-17 14:07:52 +03:00
f8729c272e Erase trailing unexpected ERR packets
If a resultset is followed by an ERR packet that is not expected
(e.g. server is shutting down), the packet must not be sent to the
client. This allows readwritesplit to replace the failing connection with
a new one thus hiding server shutdowns from clients.
2019-06-14 15:18:02 +03:00
fc997b9e38 Add mxs::Buffer::erase
Added range-erase method to mxs::Buffer. This makes it easier to modify
the contents of mxs::Buffer.

The intended use-case for now is to erase unexpected trailing ERR packets
from resultsets.
2019-06-14 15:18:02 +03:00
7dde0edb54 Clean up unexpected error handling in readwritesplit
By using the Error class, the code can be cleaned up and simplified.
2019-06-14 15:18:01 +03:00
5edfba6623 Merge branch '2.3' into develop 2019-06-14 11:15:17 +03:00
cf866a6a57 Merge branch '2.2' into 2.3 2019-06-14 10:49:51 +03:00
2e9e22893a Fix typo in Clustrix tutorial 2019-06-14 10:14:48 +03:00
c819271cab Merge branch '2.3' into develop 2019-06-14 09:40:19 +03:00
2accfad329 Handle trailing unexpected ERR packets
RWBackend did not expect that a resultset and an unexpected ERR packet
could be stored in the same buffer. This can happen for example if a
server shuts down immediately after the resultset is sent.
2019-06-14 08:12:02 +03:00
acfaae9d46 MXS-2480 Use in-memory-database in PAM authenticator
This was already fixed in develop, but the fix is both small and useful
so should be backported.
2019-06-13 17:47:08 +03:00
8311dba654 Send the OK outside the KILL functions
By sending the OK for the KILL commands outside the function, they can be
used to kill connections that do not expect responses.
2019-06-13 16:44:26 +03:00
f5c239cc8d Reorganize Clustrix tutorial slightly 2019-06-13 14:52:51 +03:00
0f3ec4f42e Remove "allow_cluster_recovery" from test configs
The parameter has been removed.
2019-06-13 14:35:50 +03:00
648eda9262 Remove deprecated parameters from MariaDBMon
Also deprecates an unused parameter.
2019-06-13 14:35:50 +03:00
f478386e47 MXS-2518 Document Clustrix and slave_selection_criteria 2019-06-13 13:45:14 +03:00
0b10b27ffd MXS-2518 Check connection distribution with Clustrix
Readconnroute, with default 'router_options', as well as readwritesplit
 should cause the connections to be distributed evenly across all nodes.
2019-06-13 13:45:14 +03:00
62daabe682 MXS-2518 Document Clustrix and router_options
With Clustrix, in whose case all nodes will be masters, using
'router_options=master' with readconnroute will cause only one
node to be used.
2019-06-13 13:45:14 +03:00
6ee9736803 Clean up scheduled event handling
Removes some duplicated code.
2019-06-13 13:19:48 +03:00
d03e025046 MXS-2553 Allow parenthesis around SELECT
With this change, a parenthesized top-level SELECT, such as
"(SELECT f FROM t)" will be fully parsed. Before this change,
the statement was classified as invalid and would thus have
been sent to the master.

With this change also statements like

    (SELECT f FROM t1) UNION (SELECT f FROM t2)

will be correctly classified, although only partially parsed.
2019-06-13 10:42:46 +03:00
a5898f83f9 Fix mysqlmon_rejoin_manual
Added some extra connection refreshing and monitor waiting. Unclear why this
is needed now but it seems to work.
2019-06-13 10:28:14 +03:00
c418bf81e1 MXS-2493 Add maxctrl show dbusers <service> 2019-06-12 23:49:08 +03:00
10272ce633 Merge branch '2.3' into develop 2019-06-12 18:15:37 +03:00
239c4a8615 MXS-2549: Install prelink config file
The prelink configuration file should prevent maxctrl from being corrupted
by it.
2019-06-12 17:49:41 +03:00
cd1b2e8748 Log server version when it changes
Knowing what the server version is can help rule out some
problems. Logging it whenever it changes also helps figure out when
upgrades took place.
2019-06-12 17:26:58 +03:00
9c1c8053b9 Merge branch '2.3' into develop 2019-06-12 14:33:07 +03:00
74ef8a9591 Update 2.3 maintenance version 2019-06-12 14:28:37 +03:00
493155127b Merge branch '2.3.8' into 2.3 2019-06-12 14:27:22 +03:00
208377b262 Update 2.3.8 release date 2019-06-12 14:26:15 +03:00
1f46f1bfca Merge branch '2.3' into develop 2019-06-12 12:24:07 +03:00
bb92d61a1b Fix KILL command packet boundary detection
If a packet with a KILL query was followed with another packet in the same
network buffer, the code wouldn't work as it expected to receive only one
packet at a time.
2019-06-12 12:20:26 +03:00
7470a58a32 Fix release mode build failures
Fixed mxb_assert_message and one dcb_printf failure.
2019-06-12 12:15:47 +03:00
a0fcf67993 Merge branch '2.3' into develop 2019-06-12 11:29:03 +03:00
b98ff222f0 Merge branch '2.3.8' into 2.3 2019-06-12 11:26:33 +03:00
9fd0d38797 Merge branch '2.3' into develop 2019-06-12 08:59:36 +03:00
7fe18a0488 Add fatal signal handlers for unit tests
This way debug assertions print a full stacktrace for unit tests.
2019-06-11 21:38:47 +03:00
470968a296 Fix unit test failures
The new net_write_timeout value needed to be explicitly defined for the
tests.
2019-06-11 21:38:47 +03:00
6166da76ea Add arguments to mxb_assert_message
The macro can now be used to print runtime information in a printf-like
manner. This makes it easier to see exactly why an assertion has failed.
2019-06-11 21:30:45 +03:00
74f61c233d MXS-2558: Reuse loaded users
When users are loaded, they can be reused across all routing workers.
2019-06-11 21:30:45 +03:00
6ca5143141 Make kill_query more robust
The test now uses an infinite loop in the SQL to make sure the execution
is interrupted.
2019-06-11 21:30:16 +03:00
814ae196e9 qc_sqlite: Replace strncpy with memcpy
On RHEL8 the former may give rise to incorrect

    error: 'char* strncpy(char*, const char*, size_t)' destination
    unchanged after copying no bytes [-Werror=stringop-truncation]
2019-06-11 20:14:58 +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
53606934a6 Merge branch '2.3' into develop 2019-06-11 16:35:26 +03:00
95606370c8 MXS-2551 Do not print deprecated parameters into serialized config files
In MaxScale, a "deprecated" parameter is not in use and can be ignored.
Leaving the parameters out of serialized configuration files avoids warning
messages.
2019-06-11 15:55:35 +03:00