14940 Commits

Author SHA1 Message Date
Esa Korhonen
7643dd1445 MXS-3417 Move mxs1662_pam_admin-test inside pam_authentication
The test failed because the linux user it used was not available
on buildbot. Now the test is part of the larger pam_authentication-
test, which sets up the users.
2021-03-26 11:28:03 +02:00
Niclas Antti
d914c01797 Merge remote-tracking branch 'origin/2.4.17' into 2.4 2021-03-24 15:33:54 +02:00
Niclas Antti
a150463e4a Correct release year from 2020 to 2021 2021-03-24 15:30:30 +02:00
Esa Korhonen
19d999f8ee MXS-3417 Indicate a skipped test with a special return value 2021-03-08 16:53:49 +02:00
Johan Wikman
d23f22a577 Merge branch '2.4.17' into 2.4 2021-03-08 15:01:52 +02:00
Johan Wikman
a02d4c15ce 2.4.17 Update release date 2021-03-08 14:57:14 +02:00
Johan Wikman
19100bdde2 2.4 Bump maintenance release 2021-03-08 09:31:06 +02:00
Johan Wikman
a8bfbbe254 2.4.17 Update change date 2021-03-08 09:03:02 +02:00
Johan Wikman
6aef554cf3 2.4.17 Create release notes and update change log 2021-03-08 09:00:27 +02:00
Markus Mäkelä
e3c9f1544a
Backport fix for MXS-3392 to 2.4
This solves problems with connectors that unconditionally send a
COM_STMT_PREPARE.
2021-03-04 11:14:44 +02:00
Johan Wikman
70fa260242 MXS-3418 Do not attempt to stop MaxScale if running locally 2021-03-03 12:58:49 +02:00
Markus Mäkelä
19066ae383
MXS-3425: Fix handling of LOAD DATA LOCAL INFILE
The LOAD DATA LOCAL INFILE is handled in a way where it returns two
results that both are complete: the first one with the file being
requested and the second one with the final OK packet. Readwritesplit
called session_book_server_response for both statements which caused the
current query index to drop to -1 which in turn was unconditionally used
as the buffer offset.

The new check for the invalid index value will help prevent crashes in
production while still allowing it to be detected while testing.
2021-03-03 11:02:15 +02:00
Markus Mäkelä
88baaeffd3
MXS-3424: Improve MaxCtrl argument errors
The error messages are now generated at the site where the error is
detected. This allows a more accurate error to be reported when invalid
parameter values are read.
2021-03-03 11:02:15 +02:00
Markus Mäkelä
1c6b7160f3
MXS-3424: Fix MaxCtrl parameter validation
Strict equality must be used to make sure that the value 0 doesn't compare
equal to an empty string.
2021-03-03 11:02:15 +02:00
Johan Wikman
2c1b3ac733 MXS-3418 Ignore spaces when modifying network config
Much better would be to first allow the config to be parsed
and only then change the value.
2021-03-03 10:18:14 +02:00
Johan Wikman
e976912118 MXS-3418 Remove erroneous line
Forgot to commit fix after cherry pick.
2021-03-03 09:08:24 +02:00
Johan Wikman
28f24eae15 MXS-3418 Make non_native_setup easier to use
If invoked without needed arguments, will tell what they are.
2021-03-03 09:06:59 +02:00
Johan Wikman
0408bd9531 MXS-3404 Fix parsing of TRIM()
Now should accept all possible argument variations.
2021-03-01 08:54:25 +02:00
Johan Wikman
49d56c31bc MXS-3404 Add tests for all trim() cases 2021-03-01 08:33:06 +02:00
Johan Wikman
38e623df9c MXS-3410 Drop anonymous users also in Xpand
As Xpand does not have a mysql.user table but a system.users
table, we need to arrange things so that the query used for
selecting annymous users can be different depending on the cluster.
2021-02-19 15:42:04 +02:00
Johan Wikman
f782a538cc MXS-3410 Add Mariadb_nodes::prepare_for_test(MYSQL*)
Needs to be a member function as the dropping of anonymous
users must be done differently for Xpand. With current code,
no anonymous users in Xpand will be dropped, and there will
always be an error (so, should someone care about the return
code, this would not work).
2021-02-19 12:50:43 +02:00
Johan Wikman
c0abec4e5b MXS-3410 Rename Mariadb_nodes::flush_hosts() to prepare_for_test()
The function does more than simply executes "FLUSH HOSTS". Also
change return type to bool as that is what it has returned.
2021-02-19 12:38:10 +02:00
Johan Wikman
3fefe557c0 MXS-3410 Make xpand system test setup more resilient
Xpand nodes must be added one by one to the cluster as an attempt
to add more nodes will fail, if any of the nodes to be added
already are in the cluster.

Further, the adding of a node may also fail if, when the addition
is made, the addition of the previous node is still in process.
Now it will be attempted at most 5 times, while sleaping as many
seconds between each attempt as there has been attempts.

Some additional logging was also added.
2021-02-18 15:12:20 +02:00
Johan Wikman
66bb716ff0 MXS-3408 Fix leak in qc_mysqlembedded properly
The actual cause was a missing cleanup call.
2021-02-17 17:00:08 +02:00
Johan Wikman
8df55ca913 Merge branch '2.4.16' into 2.4 2021-02-17 13:49:29 +02:00
Johan Wikman
cf07399518 2.4.16 Update release date 2021-02-17 13:20:44 +02:00
Niclas Antti
3e7b8fcdc6 Fix get_canonical bug in treating decimal numbers
"select 1.", became "select 1.", should be "select ?"
2021-02-17 11:53:36 +02:00
Johan Wikman
4724a0c79a MXS-3408 "Fix" leak in qc_mysqlembedded 2021-02-17 08:40:41 +02:00
Johan Wikman
7e3f6ff372 2.4 Update maintenance release 2021-02-16 15:34:06 +02:00
Johan Wikman
31eaf34091 2.4.16 Create release notes and update change log 2021-02-16 15:05:49 +02:00
Johan Wikman
0224f24077 2.4.16 Update Change Date 2021-02-16 14:59:00 +02:00
Johan Wikman
eca0d0d5f0 MXS-3408 Fix crash in qc_mysqlembedded
Calling send_eof() crashes nowadays and was anyway a workaround
for dynamic_cast, in the distant past when dynamic_cast did not
work.
2021-02-16 14:34:22 +02:00
Johan Wikman
b21c7f4a99 MXS-3408 Fix leak in qc_sqlite
Without this fix, there will be a leak every time a SELECT statement
uses ... PRECEDING or ... FOLLOWING (except for the case when ... is
UNBOUNDED).
2021-02-16 13:23:44 +02:00
Johan Wikman
0dd5ed23d3 MXS-3404 Fix problem by extending parser 2021-02-16 08:35:22 +02:00
Johan Wikman
797d7812cc MXS-3404 Extend sqlite3 op-size from u8 to u16
To make it possible to have more tokens than 255.

Parsers operators (i.e. tokens) is one thing and opcodes
for the virtual machine of sqlite3 is another. Unfortunately
they are not completely separate, but some of the opcodes
in <build-directory>/opcodes.h are the same as the tokens in
<build-directory>/parse.h. And while the parser tokens are now
16-bit, the VM opcodes are 8-bit. However, this is probably not
a problem even if some of the parser tokens that are duplicated
in the opcodes are > 256 as we only use sqlite3 for parsing and
not for executing anything (on the sqlite3 VM).
2021-02-15 20:06:00 +02:00
Johan Wikman
5f42ee88c9 MXS-3404 Add test that reveals problem 2021-02-15 10:08:32 +02:00
Johan Wikman
3e7c937dbf MXS-3404 Plug one leak in test program
So keep Asan happy.
2021-02-12 18:51:15 +02:00
Johan Wikman
bc52c918fd MXS-3404 Accept hexadecimal literals 2021-02-12 18:50:33 +02:00
Markus Mäkelä
3620db9b0a
Ignore the default value of connector_plugindir
The default value isn't a valid path and should be changed later on.
2021-02-11 16:43:00 +02:00
Markus Mäkelä
e48c5d11fc
MXS-3345: Create persistdir earlier
The directory was created when the configuration was being processed and
it wasn't checked unless it was configured to a non-default value. With
the addition of the path validation, the directory must be created
earlier.
2021-02-10 15:05:40 +02:00
Markus Mäkelä
2657cc100e
MXS-3330: Book only expected responses
Responses generated by replayed session commands must not be treated as
actual responses to retained statements. In 2.5 this is not a problem as
it is done implicitly with the pre-assignment of the server that delivers
the session command response.
2021-02-10 09:42:12 +02:00
Markus Mäkelä
47bcb6ad02
MXS-3345: Defer path permission checks
Doing the directory permission checks after all the values have been set
helps avoid problems with intermediate values that aren't valid. This
happens when --basedir generates invalid derived paths and the correct path
is provided as an argument right after it.

The path parameter is read from the configuration file only if it hasn't
been modified by a command line option. The case where an invalid command
line option is given but a valid configuration parameter would override it
is still treated as an error.

Also added a clarifying comment into set_dirs to make sure the handling
for the two path parameters is not moved inside set_runtime_dirs.

Fixed the testing scripts for the REST API and MaxCtrl now that the
directory permission checks are done correctly. Previously some paths seem
to have been ignored.
2021-02-09 17:36:41 +02:00
Johan Wikman
16a15e02be Merge branch '2.3' into 2.4 2021-02-08 10:05:23 +02:00
Johan Wikman
bf7d53dd23 MXS-3399 Fix heap-buffer overflow
The original code for catenating an SrcList to another assumed
that the list to be catenated had only 1 element. Now works
regardless of the number of items.
2021-02-08 09:49:16 +02:00
Markus Mäkelä
2d0780bdfa
Fix open_close_connections
Missing comma in the test assertion.
2021-01-22 14:03:07 +02:00
Markus Mäkelä
287e04749e
Fix monitor documentation
The event description header was too high of a heading.
2021-01-22 10:12:59 +02:00
Markus Mäkelä
219b4422cd
Add more output to binlog_change_master
Knowing the GTIDs before the MASTER_GTID_WAIT call should help us figure
out why it doesn't seem to be working as expected.
2021-01-22 10:12:59 +02:00
Markus Mäkelä
a617347fb6
Fix open_close_connections
The assumption that errno would be the same for the duration of the whole
call chain is wrong as it's possible that other calls that modify it are
made. Using the actual error string itself is much more reliable.
2021-01-22 10:12:59 +02:00
Markus Mäkelä
9fceffbf9e
Backport mxs1071_maxrows fix
This is a backport of commit `4167399cefa4f1621e1fa5ee7fe54c12736a6d21`.
2021-01-22 10:12:59 +02:00
Markus Mäkelä
88e4b5724b
Backport mxs1804_long_ps_hang fix
This is a backport of commit `cec91ccb298dabce0857ec566a8671e34b58259b`.
2021-01-22 10:12:58 +02:00