13956 Commits

Author SHA1 Message Date
Johan Wikman
5a7c68e3c9 MXS-2612 Ensure that destructor order does not matter
The new configuration system relieas upon static varibles being
used for declaring what arguments a particular module uses. To
ensure that the destruction order does not matter, we redundantly
store the needed data (the name).
2019-08-29 08:01:35 +03:00
Marko
0bb53bf411 Merge branch '2.3' into 2.4 2019-08-29 02:00:16 +03:00
Marko
7a1abc26d8 MXS-2631 Fix the ignoring of the system tables 2019-08-29 01:00:49 +03:00
Marko
cc038278d6 MXS-2631 Add system test 2019-08-29 01:00:49 +03:00
Johan Wikman
a09c2a800d MXS-2644 Check validity of the Clustrix license file
- Complain if it does not exist
- Complain if the license appears to be broken
- Complain if the license has expired
2019-08-22 15:24:38 +03:00
Johan Wikman
ec2e883879 MXS-2644 Complain if license file is not found
A file containing a statement for setting the Clustrix license
must exist in order to run Clustrix tests.
2019-08-22 14:04:45 +03:00
Johan Wikman
855b8d876a MXS-2644 Move ci setup from constructor to setup() function
By moving the setting up of the test environment from the constructor
to a separate setup()-function, it is possible to introduce virtual
functions and make it easier to do things differently depending on
whether the backend is MariaDB, Galera och Clustrix.
2019-08-22 11:16:11 +03:00
Johan Wikman
52df969e13 MXS-2644 Make ci Clustrix_nodes::prepare_server() more resilient
When checking the state of a Clustrix node, we do so in steps:Z
- Is Clustrix installed
- Is Clustrix running
- Can Clustrix be accessed using root
- Can Clustrix be accessed using the test user

and deal with a failure at each point.
2019-08-22 11:16:11 +03:00
Johan Wikman
e2124ec01f MXS-2644 Log reason if mysql_real_connect fails
If mysql_real_connect fails inside any of the open_conn_db...
utility functions that will now be logged.
2019-08-22 11:16:11 +03:00
Johan Wikman
891d0503a0 Merge branch '2.4.1' into 2.4 2019-08-21 11:00:29 +03:00
Johan Wikman
7e0b2d8896 Update 2.4.1 release date 2019-08-21 10:41:50 +03:00
Johan Wikman
ff6ff6a0a7 Update maintenance release of 2.4 2019-08-20 12:56:54 +03:00
Johan Wikman
e1f361b016 Merge branch '2.4.1' into 2.4 2019-08-20 12:48:29 +03:00
Johan Wikman
b47b7c15ed Change 2.4.1 release maturity to GA 2019-08-20 12:43:32 +03:00
Johan Wikman
bef9327f4c Remove test_mxb_http test
Fails on too many platforms due to curling to non-existent site
not causing an error.
2019-08-20 12:40:01 +03:00
Esa Korhonen
5a2c92c86d Fix compile error on Centos 2019-08-20 12:40:01 +03:00
Johan Wikman
34ab1843b2 Update 2.4.1 release notes 2019-08-20 12:40:01 +03:00
Johan Wikman
08cc8e023c Remove test_mxb_http test
Fails on too many platforms due to curling to non-existent site
not causing an error.
2019-08-20 12:29:53 +03:00
Niclas Antti
503cf7e693 MXS-2572 Smartrouter test. Fix replication lag releated bug. 2019-08-20 10:57:36 +03:00
Esa Korhonen
2a8c47b2e5 Fix compile error on Centos 2019-08-19 15:58:54 +03:00
Johan Wikman
da83115e6c Update 2.4.1 release notes 2019-08-19 13:35:37 +03:00
Esa Korhonen
e6bf020b9e Continue name resolution fixing, add unit test
name_lookup() now returns all results given by getnameinfo(). When searching
for a server, finding one matching address in the lookup-results is enough for
a match.

Also, added a test for name_lookup(). The test is minimal on its own, as hardcoded
test cases are not generally valid.
2019-08-16 12:52:52 +03:00
Esa Korhonen
29ec15c8eb Update documentation for 2.4.1
Small changes to MariaDBMonitor and Pam authenticator.
2019-08-16 12:18:39 +03:00
Johan Wikman
33ae9d3a2f Create release notes of 2.4.1 and update change log 2019-08-15 10:43:01 +03:00
Markus Mäkelä
98ddf1679b
Fix name resolution
The ai_addr must be cast into sockaddr_in6 and the sin6_addr member must
be passed to inet_ntop.
2019-08-14 21:34:56 +03:00
Esa Korhonen
45ed3e085f Merge branch '2.3' into 2.4 2019-08-14 17:40:30 +03:00
Johan Wikman
c220ab3d9b MXS-2626 Update Clustrix monitor documentation 2019-08-14 15:41:55 +03:00
Markus Mäkelä
16cc3cd64b
Fix negative expected response count on trx rollback
The expected reply count should only be decremented on success.
2019-08-14 14:50:34 +03:00
Esa Korhonen
72ce2d2bc1 MXS-2633 Fix PAM authentication support with server version 10.4
The new server pam plugin does not always send the first password prompt with the
AuthSwitchRequest-packet. In this case the server expects the client (MaxScale) to
just send the password immediately. MaxScale now checks the length of the packet,
sending the password if the packet is short. This works with both old and new server
versions.
2019-08-13 17:15:45 +03:00
Esa Korhonen
b6ee5d104d MXS-2544 Test role support in PAM authenticator 2019-08-12 18:23:34 +03:00
Marko
8ce6a679be Merge branch '2.3' into 2.4 2019-08-09 19:44:46 +03:00
Marko
5389e9e252 MXS-2592 Add documentation on session_trace 2019-08-09 19:36:24 +03:00
Marko
5899556d89 MXS-2592 Enable runtime configuration of session_trace 2019-08-09 19:36:24 +03:00
Markus Mäkelä
bf551c5b1e
Merge branch '2.3' into 2.4 2019-08-09 03:01:00 +03:00
Markus Mäkelä
eda830c9f3
MXS-2609: Add master reconnection test case
The test case covers a few bugs that were fixed by the previous
commits. The first part of the test covers the case when master
reconnection fails while session command history is being executed. The
second part of the test makes sure exceeding the session command history
will prevent master reconnections from taking place.
2019-08-09 01:54:10 +03:00
Markus Mäkelä
1748e6599d
MXS-2609: Fix session command mixup on master failure
If a master failed during an ongoing session command history replay, it
would be treated as if a normal session command failed which would result
in the already executed session command being re-executed on all servers
at the wrong logical position.

To fix this, the history replay must be distinguished from normal session
command execution. When a connection replaying the history fails, the
query routing simply needs to be attempted again.
2019-08-09 01:54:09 +03:00
Markus Mäkelä
547236b7a4
MXS-2609: Store history size in Backend
When a connection is created, the size of the history that is about to be
replayed is known. Storing this and decrementing it each time a session
command is completed tells us when the Backend has finished replaying the
session command history. This can then be used to distinguish whether a
session command executed on a master should be retried or whether to
simply discard the connection.
2019-08-09 01:54:09 +03:00
Markus Mäkelä
8bc4e42f2d
Fix query queuing on session command execution
If session command execution during server reconnection caused a query to
be queued, the query would be put on the tail end of the queue. This would
cause queries to be reordered if the queue wasn't empty. The correct thing
to do would be to put the next pending query back at the front of the
queue.
2019-08-09 01:54:09 +03:00
Markus Mäkelä
bb6f9213d4
Fix debug assert on master reconnection
If a master reconnection occurred after the session command history was
disabled due to the limit being exceeded, a debug assertion would be hit
in prepare_target. This assert makes sure that a connection can be safely
created to the server which means that in release mode builds the session
state would be inconsistent on the new master.

As this is an unrecoverable situation, the session should stop immediately
even if delayed_retry is enabled. Currently the session will continue
until the delayed retry timeout is hit. This happens due to the fact that
the delayed retry mechanism handles all errors in a similar way.
2019-08-09 01:54:09 +03:00
Markus Mäkelä
9f6efef67a
MXS-2576: Update states atomically in csmon
This prevents false transient states from occurring.
2019-08-09 01:54:09 +03:00
Timofey Turenko
ab429c3202 Merge branch '2.3' of github.com:mariadb-corporation/MaxScale into 2.3 2019-08-08 23:12:16 +03:00
Timofey Turenko
284e5db68b Merge branch '2.3' of github.com:mariadb-corporation/MaxScale into 2.3 2019-08-08 23:11:44 +03:00
Timofey Turenko
910990115c add Docker to build VM temlates
Now Docker is installed to VM which are used to build Maxscale. It allows to run tests which require Docker without installing it
during build process.
2019-08-08 16:58:07 +03:00
Johan Wikman
27f11df700 Merge branch '2.3' into 2.4 2019-08-08 08:07:59 +03:00
Johan Wikman
2f40190555 Merge branch '2.2' into 2.3 2019-08-08 08:07:37 +03:00
Timofey Turenko
1ca15714f8 fix sles link creation 2019-08-07 20:06:31 +03:00
Timofey Turenko
2b0fe14676 fix sles link creation 2019-08-07 19:45:52 +03:00
Timofey Turenko
169fb256ed Create symlink for sles15
Currently build is executed for OpenSuse 15 and SLES15 repo is not available. To avoid
missing repo symlink sles -> opensuse is created
2019-08-07 16:02:40 +03:00
Timofey Turenko
bb43e6193e fix typo in copy_repos.sh 2019-08-07 16:00:12 +03:00
Timofey Turenko
5d0112c397 add sles directory creation 2019-08-07 15:41:18 +03:00