Commit Graph

14815 Commits

Author SHA1 Message Date
aaec73a8c8 MXS-3089: Close backend on failed session command
This correctly triggers the session command response processing to accept
results from other servers than the current master backend if the session
can continue. If the session cannot continue, it will be stopped
immediately.
2020-07-23 09:26:53 +03:00
cf1d1178d7 MXS-3087: Fix diagnostic memory leaks
Fixed leak in load_utils.cc and the cache filter. Also changed all
instances of json_object_set with json_object_set_new to make sure it's
only used when the references are to be stolen.
2020-07-22 13:27:36 +03:00
d99d2f21a6 Add libcurl4-gnutls-dev to test build dependecy list 2020-07-17 11:32:39 +03:00
0e5163a3fb Make test dependency install script Non-interactive 2020-07-16 16:10:02 +03:00
fa32fb9a25 Merge branch '2.4.11' into 2.4 2020-07-16 09:01:26 +03:00
f2a837e2f1 Fix memory leak in throttlefilter
The filter would leak the buffer when it disconnects a client. This fixes
the throttlefilter test if it's run with ASAN or valgrind.
2020-07-15 15:35:12 +03:00
5cf22037db Merge branch '2.3' into 2.4 2020-07-15 14:20:17 +03:00
c4e79f4d3b Prevent unwanted connection errors
The Connection class used the wrapper function when it could simply call
mysql_real_connect directly. This removes the unconditional error message
that would be printed even when a connection failure was expected.
2020-07-15 13:30:41 +03:00
c90db9d6c1 Update 2.4.11 release date 2020-07-15 08:50:06 +03:00
ea35b62373 MXS-619: Delay destruction of the client DCB
By delaying the processing of a client DCB in the zombie queue, we avoid
initiating the shutdown process of the backend DCBs too early. This solves
the problem of the previous implementation where the session shutdown
proceeded too far before the delaying process started.
2020-07-14 10:47:38 +03:00
12dca480ee Merge branch '2.3' into 2.4 2020-07-14 10:25:40 +03:00
45589c533c Merge branch '2.3' into 2.4 2020-07-14 10:06:57 +03:00
fcb78108be Make mxs548_short_session_change_user lighter
Removed the inserts from the test. They don't make any functional
difference and it only slows the whole system down.

Also reduced the number of threads doing the change user command. This
should reduce the CPU usage of the test.
2020-07-14 09:36:37 +03:00
268b684c01 Fix mxs2167_extra_port
The test only used legacy startup syntax.
2020-07-14 09:36:37 +03:00
9572330857 MXS-2900 Rename maxtest headers to .hh 2020-07-13 18:44:45 +03:00
cb0217a776 Merge branch '2.4.11' into 2.4 2020-07-13 15:20:33 +03:00
6abdb60b58 MXS-619: Temporarily disable the fix
The fix isn't fully functional as closed DCBs never process the events
they receive. The mechanism would work if certain events would be
processed but they'll have to be fixed in a later release.
2020-07-13 15:02:47 +03:00
38838e1f69 Merge branch '2.4.11' into 2.4 2020-07-13 10:42:11 +03:00
d622521ad1 2.4.10 Update release date 2020-07-13 10:26:21 +03:00
292a9efe88 Remove obsolete script 2020-07-10 09:59:17 +03:00
eb41562887 Merge branch '2.3' into 2.4 2020-07-10 09:57:47 +03:00
64480c8268 Remove obsolete script
set-change-date is much better.
2020-07-10 09:51:46 +03:00
2b20b1ba6a Add script for setting MaxScale change date
Simply calls script/set-change-date providing as argument all
MaxScale directories containing files with Change Date.
2020-07-10 09:51:46 +03:00
6f7cc921cc Merge branch '2.3' into 2.4 2020-07-10 09:36:30 +03:00
c85638052e Rerun failed tests
This should help stabilize the test set by making sure the test actually
fails twice. This'll still leave the output in the log so that the
problems that only occur on the first run can be eventually fixed.
2020-07-10 09:32:13 +03:00
0bd41c0f02 Merge branch '2.3' into 2.4 2020-07-09 13:54:31 +03:00
af227cd8c5 Enable log_info for maxinfo_sql
This should help figure out why the test would hang.
2020-07-09 13:49:43 +03:00
6229d79681 Make the fwf on_queries test more robust
By waiting for a known period of time before and during the time window,
we get a higher chance of the test passing even if the system isn't fast.
2020-07-09 13:49:43 +03:00
f61c7728ab Fix bug626 with MariaDB 10.4
The test used legacy SQL syntax for updating the password.
2020-07-09 13:49:43 +03:00
09ebffbb9e 2.3 Add script for setting change date
This script is capable of setting the change date and not just
updating a specific one.

It looks for " Change Date: .*" in the first 20 lines of file and
replaces whatever follows "Change Date: " with the specified change
date.

If provided with a directory, it will walk the directory hierarchy
and recursively set the change date in all files.
2020-07-09 10:15:45 +03:00
6766114820 Merge branch '2.3' into 2.4 2020-07-08 09:38:32 +03:00
93e2aaeaf5 MXS-3031 Ensure backend ssl tests clean up after themselves
Presumably Mariadb_nodes::disable_ssl() should do that, but it
does not. So for the time being we create the default user anew.
2020-07-08 09:32:07 +03:00
9955f00bf5 MXS-3031 Add function for resetting users
With this function, a test that changes the default test users
on a node can reset the situation.
2020-07-08 09:31:42 +03:00
44c04a5d44 2.4 Update maintenance release number 2020-07-07 10:06:36 +03:00
fc9c9fcd77 2.4.11 Update change date 2020-07-07 10:01:38 +03:00
4c1b42b9cd 2.4.11 Add release notes and update change log 2020-07-07 09:40:51 +03:00
32fa7b6800 MXS-3069: Fix plugin name comparison
Connectors that wouldn't send the plugin name even when the plugin
authentication capability was enabled would have to do an extra step in
the authentication.
2020-07-07 09:23:23 +03:00
6c9249131f MXS-3064: Use latin1 charset
This prevents the server from selecting the charset under which the
queries are processed which can result in conflicts if the tables used are
not compatible with the charset of the string literals used in the query.
2020-07-07 09:23:22 +03:00
4fe71b41ed MXS-3038: Don't connect to lagging slaves
There's no use connecting to a lagging slave if a replication lag limit
has been set.
2020-07-07 09:23:22 +03:00
9e91cfdded MXS-3039: Document qlafilter log rotation
The interaction with the log rotation in MaxScale was not documented.
2020-07-07 09:23:22 +03:00
7520efd218 MXS-3059: Don't use STL containers concurrently
The diagnostics_json call could access the std::unordered_map at the same
time it was being updated by the monitoring thread. This leads to
undefined behavior which in the case of MXS-3059 manifested as a segfault.
2020-07-07 09:23:22 +03:00
ad4bd26ff0 MXS-2585: Check for failed allocations
Since nothrow was used, the return value should be checked. By moving the
null-check after the node allocation part, we'll detect it.
2020-07-07 09:23:22 +03:00
ba289dc589 Fix debug assertion in cache
The call to gwbuf_length will fail if the pointed to buffer isn't the head
of the chain. To prevent this, the length is calculated before the buffer
is appended.

Also fixed the use of gwbuf_append. The return value should be assigned
and the code shouldn't reply on the value passed to the function being
correct.
2020-07-07 09:23:22 +03:00
7ad3485892 MXS-3054: Fix crash on malformed mapping reply
The code used a null GWBUF with gwbuf_append which causes a crash. The
return value of the function that used it was also not correctly handled
and would be mistaken for a different error.
2020-07-02 11:34:40 +03:00
608eb95284 MXS-3055: Prevent sending of an extra COM_QUIT
If the protocol routes a COM_QUIT packet to the backend, it must not
generate a packet when it is shutting down. This could cause unexpected
write errors if the backend server managed to close the socket before the
write was done.
2020-07-02 11:34:40 +03:00
a655c5d08c MXS-619: Allow backend authentication to complete
By deferring the closing of a DCB until the protocol tells that it's in a
stable state, we avoid closing the connection mid-authentication. This
makes sure that all connections have reached a stable state before they
are closed which in turn prevents the connections from counting towards
aborted connects (or failed authentications like it did with the old fix).
2020-07-02 11:34:39 +03:00
ae2cad9254 MXS-619: Revert the partial fix
The fix causes a lot of confusion with the failed authentication messages
and is not worth it to fix the problem.
2020-07-02 11:22:22 +03:00
1ad8ae97d3 MXS-3054: Prevent pooling of DCBs with inbound data
If a DCB is expecting a response from the server, it must not be placed
into the connection pool. This prevents the case where unexpected
responses would be delivered to DCBs taken out of the connection pool.
2020-07-02 11:22:22 +03:00
9f07613330 Merge branch '2.3' into 2.4 2020-07-02 10:38:54 +03:00
c9badcb09c Fix installation order of signal handlers
The shutdown signal handlers were installed before the workers were
initialized and weren't removed before the workers were deleted. This
would lead to a debug assertion and an eventual crash when a SIGTERM
signal was received outside of the expected scope.

The proper way to do this is to install the handlers only after the system
is up and running and to disable them as soon as the shutdown process
starts.

This mostly happened with the mxs621_unreadable_cnf test as it seemed to
receive a SIGTERM during the execution of the at-exit handlers.
2020-07-02 10:33:18 +03:00