Commit Graph

1204 Commits

Author SHA1 Message Date
ca52d1cdce Fix avro and avro_alter
The tests should check whether the nodes are alive.
2019-11-04 11:06:40 +02:00
3bb87d3dc3 Change wait_for_monitor interval default to 2
At least two intervals are required to guarantee that a monitor detected
an event. This should increase the stability of the tests.
2019-11-04 08:39:10 +02:00
a1e8287265 Add global to ccrfilter
The `global` parameter causes the time window defined by the `time`
parameter to be applied at the instance level instead of the session
level. This means that a write from one connection will cause all other
connections to use the master for a certain period of time.

Using a configurable time window for consistency is not good as it is not
absolute and cannot adjust to how servers behave.

One example that demonstrates this is when a slave is normally lagging
behind by less than a second but some event causes the lag to spike up to
several seconds. In this case the configured time window would no longer
guarantee consistency.

Another reason to avoid a "static" time window is the fact taht it
prevents load balancing in the cases where slaves catch up to the master
within time window. This happens when time is configured to a higher value
to avoid inconsistencies at all costs.

Added a test case that verified the feature works.
2019-11-04 08:32:17 +02:00
861e27eb00 Merge branch '2.3' into 2.4 2019-10-29 14:04:31 +02:00
df6c56e7ca Update 2.3.13 Change Date 2019-10-29 12:51:31 +02:00
4d51342561 Merge remote-tracking branch 'origin/2.3' into 2.4 2019-10-29 12:29:32 +02:00
195a016b7c Rewrite slave_failover
The test now uses the @@server_id server variable to detect which server
is used. This is a lot less error prone than comparing hostnames is.
2019-10-29 11:33:10 +02:00
4791e043f1 Merge branch '2.3' into 2.4
MXS-2645 was already fixed in 2.4.
2019-10-04 15:54:45 +03:00
c54e254ea0 MXS-2645 Add test case to connection_limit test
Tests max_connections with repeated failed logins.
2019-10-04 15:11:09 +03:00
f6b2a7f3d5 MXS-2354: Extend datatype test case
Added proper test cases for fractional temporal types.
2019-09-30 11:47:29 +03:00
d499ff84af Speed up mxs1713_lots_of_databases
The SHOW DATABASES greatly slows down the test. By doing that only from
time to time, the test time drops from roughly 160 seconds to 15
seconds. There's also no point in continuing the test after a failure has
been seen.

Also added a missing sync_slaves to the database creation to make sure
they are created on all servers before the test starts.
2019-09-21 21:16:55 +03:00
e03a2e3cf0 Add MariaDB-Monitor multimaster failover/switchover test 2019-09-18 12:19:09 +03:00
ea95d9a523 Fix has_label() function name 2019-09-16 12:17:12 +03:00
bdfd7341e7 Add tests with backend SSL
A 'BACKEND_SSL' label added. If test has this label
Testconnection() configures backend servers to
require SSL
2019-09-13 14:12:49 +03:00
9faed003e0 MXS-2669 Make '-l' work again
When a system test program is invoked with the flag '-l', it will
assume MaxScale is running on 127.0.0.1 using a configuration that
is compatible with the test.

NOTE: Currently any test that directly or indirectly sshes to the
      MaxScale node will fail. With a bit of setup that could also
      be made to work.
2019-09-10 15:34:56 +03:00
ebbd806c6a Merge branch '2.3' into 2.4 2019-09-06 10:59:08 +03:00
ff2048625b MXS-2652 Add test
Test case added to an existing test.
2019-09-06 10:12:16 +03:00
29dd16b333 Merge branch '2.3' into 2.4 2019-09-05 16:28:25 +03:00
d82a90e27f Add read rights to /etc/my.cnf.d/* on test VMs
In some configs /etc/my.cnf.d/* files access rights are
very limited and server can not read configuration.
It leads to broken settings and unability to setup
replication during the test
2019-09-05 10:21:04 +03:00
a67bfd4cb9 Fix backend SSL tests
Due to incorrect SSL certs copying to backend and wrong setting in
maxscale.cnf it was not possible to active backend SSL.
Additionally, one more maxscale restart added to 'sql_queries' test
to reproduce SSL bug in 2.4.1.
Also ssl.cnf tuned in order to reproduce SSL bug
2019-08-29 17:42:39 +03:00
0bb53bf411 Merge branch '2.3' into 2.4 2019-08-29 02:00:16 +03:00
cc038278d6 MXS-2631 Add system test 2019-08-29 01:00:49 +03:00
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
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
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
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
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
503cf7e693 MXS-2572 Smartrouter test. Fix replication lag releated bug. 2019-08-20 10:57:36 +03:00
b6ee5d104d MXS-2544 Test role support in PAM authenticator 2019-08-12 18:23:34 +03:00
bf551c5b1e Merge branch '2.3' into 2.4 2019-08-09 03:01:00 +03:00
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
01427e32ec Merge branch '2.3' into 2.4 2019-08-02 10:03:34 +03:00
15461c1f8e MXS-2621: Add test case
The test reproduces the problem with lower_case_table_names.
2019-08-02 09:47:42 +03:00
527f9d3136 Rewrite open_close_connections
The test now uses standard library threads and lambda functions to make
the code simpler. Also made the test more robust by ignoring any errors
that are caused by the exhaustion of available client side TCP ports.
2019-08-01 16:50:19 +03:00
a9b01ff4cc Merge branch '2.3' into 2.4 2019-07-28 21:43:58 +03:00
9a7153dcec Fix mysqlmon_multimaster
It failed to compile with a new-ish compiler as the output argument was
guaranteed to be null.
2019-07-26 09:10:47 +03:00
5b3c0b8b81 Merge branch '2.3' into 2.4 2019-07-16 13:17:35 +03:00
9de06a52b0 Allow infinite refreshes of users
The hard limit of 10 seconds is too strict when taking into account the
fact that infinite refreshes was possible before the bug was fixed. This
also makes testing a lot easier where rapid reloads are necessary.
2019-07-10 11:06:52 +03:00
f9b1a0a0c4 Merge branch '2.3' into 2.4 2019-07-10 08:17:34 +03:00
8a176d64aa MXS-2490: Add direct execution support
Certain MariaDB connectors will use the direct execution for batching
COM_STMT_PREPARE and COM_STMT_EXECUTE execution without waiting for the
COM_STMT_PREPARE to complete. In these cases the COM_STMT_EXECUTE (and
other COM_STMT commands as well) will use the special ID 0xffffffff. When
this is detected, it should be substituted with the ID of the latest
statement that was prepared.
2019-07-09 14:59:52 +03:00
760f887566 Skip unnecessary reconfiguration
The coredump configuration needs to be done only if nodes were restored or
if MaxScale was reinstalled.
2019-07-03 09:34:20 +03:00
02395102ed Add log message injection to tests
By injecting messages into the maxscale.log from the test, the reader of
the log can easily see the "synchronization" with the test case. This does
affect the test timing so it can only be used to see whether non-timing
related functionality is correct.
2019-07-03 09:34:20 +03:00
990208d0fd Enable log_info for stale_slaves
This would help explain any odd test failures.
2019-07-03 09:34:20 +03:00
3e85500491 Merge branch '2.3' into 2.4 2019-07-02 08:38:15 +03:00
8ee54b76d6 Merge branch '2.2' into 2.3 2019-07-02 08:36:37 +03:00
6b11067690 Lower throttling limit in mxs173_throttle_filter
The test appears to fail when the throttling is unable to keep the QPS
high enough for the test to pass. To reduce the likelihood of this, lower
the limit to 500 QPS.

In theory, the minimum delay of one millisecond in the delayed_call limits
the filter to a maximum QPS of 1000 as each query would wait for at least
a millisecond before being routed. This is yet to be proven but it would
explain why the tests are having a hard time approaching that level of
QPS.
2019-07-01 17:30:03 +03:00
25d134df9c Too slow a system isn't a test failure
If testing cannot be reliably performed, the test should be skipped to
minimize unnecessary work that non-deterministic failures cause.
2019-07-01 17:18:22 +03:00
b3eb5ccc81 Fix run_ctrl_c.sh on newer systems
Systems that no longer support SysV init scripts and the service command
need to use systemctl.
2019-07-01 17:13:09 +03:00
0b18826fc1 Fix no_password
The test used freed memory.
2019-07-01 16:57:52 +03:00
fa13ec8c38 Apply MDBCI install_product chnages also to reinstall_maxscale() 2019-07-01 15:12:04 +03:00