13179 Commits

Author SHA1 Message Date
Johan Wikman
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
Johan Wikman
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
Johan Wikman
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
Markus Mäkelä
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
Markus Mäkelä
637bc6ff6d
Silence test errors about missing cores
`cp` and `ls` complain if the files do not exist, using `test` is more
appropriate to test whether the files exist.
2020-07-02 06:26:35 +03:00
Markus Mäkelä
1756857f5d
Fix galera initialization with 10.4
For whatever reason, galera complains on startup about
wsrep_cluster_address missing even when mysql_install_db is run. By making
sure that we configure it before we initialize the database, the problems
seem to go away.
2020-07-01 15:15:15 +03:00
Johan Wikman
9fb5336615 MXS-2996 Fix classification of "SELECT ... LOCK IN SHARE MODE"
And also of "SELECT ... FOR SHARE"
2020-06-18 10:17:08 +03:00
Johan Wikman
1dd06c3ebc MXS-2996 Add test that reveals problem
SELECT * FROM test LOCK IN SHARE MODE
  SELECT * FROM test FOR SHARE

should be classified as QUERY_TYPE_WRITE.
2020-06-18 10:14:16 +03:00
Johan Wikman
3972e372ae MXS-3041 Fix 'SELECT handler FROM t FOR UPDATE'
Problem was that 'handler' is a keyword. To make it work,
the keyword must be listed as one of those that turns into
an id where it cannot be used as a keyword.
2020-06-18 08:40:22 +03:00
Johan Wikman
f96c8d3a97 MXS-3041 Add test that reveals problem 2020-06-18 08:35:33 +03:00
Johan Wikman
d78aa39765 Update release date 2020-06-05 09:31:45 +03:00
Johan Wikman
ddb4064563 Fix typo in documentation 2020-06-05 09:31:45 +03:00
Johan Wikman
aa11c960b1 2.3.20 Update change date 2020-06-05 09:31:45 +03:00
Johan Wikman
dcf0442127 2.3.20 Add release notes and update change log 2020-06-05 09:31:44 +03:00
Markus Mäkelä
d025f5123e
MXS-3023: Fix ID generator overflow
The result must always be non-negative.
2020-06-04 15:31:17 +03:00
Markus Mäkelä
5380bd65f1
Detect dropped system tables
If a test breaks the system by dropping a system database, the replication
check wouldn't detect it.
2020-06-03 10:39:36 +03:00
Johan Wikman
8f3a1228e6 2.3 Update maintenance release number 2020-06-02 10:50:30 +03:00
Markus Mäkelä
cb8b4546cb
Don't use client SHA1 for fake responses
When a fake handshake response is generated for a connection that hasn't
received the server's handshake, the client's SHA1 would be used with a
static scramble. This, in theory, would weaken the authentication to some
extend so to completely prevent this, a null password is used. This
removes any possibility of the password being exposed.
2020-06-02 10:17:40 +03:00
Markus Mäkelä
11960a1e93
Document transaction_replay_max_size inner workings
The documentation didn't explain how to estimate how much memory a
transaction takes and whether it was a global limit or a per session
limit.
2020-06-02 10:17:39 +03:00
Markus Mäkelä
2e1b0c5ddf
MXS-2984: Fix list listeners
Backported the changed from 2.5 to 2.3 and added a test case.
2020-06-01 12:26:26 +03:00
Markus Mäkelä
ce437bc779
MXS-3016: Rename --monitors to --monitor
Renamed the option and changed the type to a string argument. The alias
for --monitors still allows old code to use the same format.
2020-06-01 12:26:26 +03:00
Markus Mäkelä
0f1f9426c3
MXS-2983: Document list option formats
The options that take lists of objects as arguments did not properly
document the expected format.
2020-06-01 12:26:26 +03:00
Markus Mäkelä
c3dff9c60c
MXS-3014: Add missing global parameters to REST API
A few global parameters weren't included in the list of parameters. A few
non-parameter values that were in the parameter object were moved out into
the attributes object. Sorted the parameter alphabetically.
2020-05-29 08:32:39 +03:00
Markus Mäkelä
0907e0f0e5
Add BACKEND_SSL VM type
This is needed by tests that use add_test_executable_ex and require
backend SSL. Also fixed a problem in disable_ssl where an empty query was
executed instead of the query itself.
2020-05-27 14:06:51 +03:00
Markus Mäkelä
c211bf1a21
Remove old VERSION.cmake files 2020-05-25 09:06:43 +03:00
Markus Mäkelä
7c011b4081
MXS-2998: Fix key-value parsing
The code assumed that no value would hold an equals sign which is
wrong. Added a test case that reproduces the problem and verifies the fix.
2020-05-14 09:34:25 +03:00
Markus Mäkelä
481f6f1aea
Add missing operator=(Connection&&)
The move assignment should also be defined if the move construction is
defined.
2020-05-13 13:43:58 +03:00
Johan Wikman
b212117fd3 MXS-2990 Fix the problem, treat ! as not
If '!' is followed by '=' then it is NOT-EQUAL, otherwise it is
just NOT.
2020-05-13 10:38:07 +03:00
Johan Wikman
9999650bbe MXS-2990 Add test that reveals problem
Had to fix qc_mysqlembedded as well to work with 10.2.
2020-05-13 10:32:39 +03:00
Markus Mäkelä
73eba01ce9
Fix cluster sync documentation
The MaxScale instance isn't stopped if the synchronization fails. Added
missing documentation for the command argument.
2020-05-11 07:44:57 +03:00
Markus Mäkelä
b4108270dc
MXS-2982: Fix documetation link in --help output 2020-05-11 07:44:57 +03:00
Markus Mäkelä
a2b5a1aba3
MXS-2980: Forward options to the interactive mode
The --quiet option does not make sense in the interactive mode so it isn't
forwarded.

Added code that reports TLS certificate loading errors. The errors
themselves aren't very exact but at least they give a hint as to why it
failed.
2020-05-11 07:44:56 +03:00
Markus Mäkelä
0ddee9613b
MXS-2981: Treat missing TLS files as an error
Also treats partially defined TLS files as an error.
2020-05-11 07:44:56 +03:00
Esa Korhonen
c34b835c51 Build maxbase tests only if BUILD_TESTS in on 2020-04-30 17:55:23 +03:00
Johan Wikman
df01a6e9e0 Merge branch '2.3.19' into 2.3 2020-04-27 15:54:04 +03:00
Johan Wikman
5b33e03a64 2.3 Update maintenance version 2020-04-27 15:51:46 +03:00
Johan Wikman
25c5c91fea Update 2.3.19 release date 2020-04-27 15:36:04 +03:00
Markus Mäkelä
a38b475e90
Fix add_template
The path to the coniguration file must be an absolute path
(CMAKE_SOURCE_DIR) instead of a relative one
(CMAKE_CURRENT_SOURCE_DIR). This fixes cdc_datatypes.
2020-04-27 10:22:51 +03:00
Markus Mäkelä
87328228f8
Fix mxs922_monitor
The monitor needs to be unlinked from servers before it is destroyed.
2020-04-24 14:52:23 +03:00
Johan Wikman
c689aac939 2.3.19 Create release notes and update change log 2020-04-23 14:31:08 +03:00
Johan Wikman
f527a8f2e6 2.3.19 Update Change Date 2020-04-23 14:23:57 +03:00
Markus Mäkelä
9d70f479c7
Rewrite mxs548_short_session_change_user
Use C++11 constructs along with the utilities provided by the newer
testing code.
2020-04-22 21:54:14 +03:00
Markus Mäkelä
1b5866e609
MXS-2969: Silence restart output 2020-04-22 15:18:29 +03:00
Markus Mäkelä
fe44fd8a87
MXS-2969: Invert user check conditional
The conditional was inverted and the user was created if it already
existed.
2020-04-22 15:18:00 +03:00
Markus Mäkelä
be567b6029
MXS-2969: Restart MaxScale on upgrade
Renamed the postrm script to prerm since it is executed before
uninstallation.

Silenced the output of the systemctl disable commands and added a
conditional restart of MaxScale if a MaxScale instance is running.

Use getent instead of grep to detect if the maxscale user needs to be
created.
2020-04-21 09:29:16 +03:00
Esa Korhonen
c3ddcb9056 MXS-2900 Add ability to add derived tests to add_test_executable_ex() 2020-04-13 17:21:40 +03:00
Esa Korhonen
f549d95793 MXS-2900 maxtest header cleanup 2020-04-11 22:10:35 +03:00
Esa Korhonen
03726a5f25 MXS-2900 Rename maxtest files
Many of the headers were not renamed to avoid changing every test.
2020-04-10 20:50:28 +03:00
Markus Mäkelä
aacae9b508
MXS-2956: Fix use of admin_ssl_ca_cert
The parameter is now optional and uses the correct file. If defined, it
defines the CA certificate that would be used to verify client
certificate. Client certificate verification doesn't seem to currently
work as that requires a custom verification callback that interfaces with
GnuTLS.
2020-04-09 11:58:50 +03:00
Esa Korhonen
594e431f1a MXS-2900 Move MariaDB-Monitor tests 2020-04-07 15:49:34 +03:00