Commit Graph

87 Commits

Author SHA1 Message Date
0506669738 Only refresh users on failed authentication
When backend authentication failed due to errors other than wrong
credentials, the users were unconditionally reloaded. This caused a spike
of activity whenever authentication failed for other reasons.

Also fixed the test that checks for this to look for the correct error
message.
2017-12-01 06:01:18 +02:00
016b0f69f7 MXS-1509: Initial implementation of test case
Added some code to detect server states in a consistent manner and created
the test. The multi-source replication appeared to cause problems for the
test system which needs to be resolved.

Added --force flags to most direct `mysql` calls to prevent errors from
stopping the processing of remaining commands.
2017-11-30 12:39:00 +02:00
d69a36b4dd MXS-1476: Stop nodes instead of blocking them
This should actually disrupt the Galera cluster instead of just
temporarily disabling it.
2017-11-27 15:53:54 +02:00
41f6400852 MXS-1476: Add test case
Test for MXS-1476 that checks that the behavior is what is
expected. Currently, the test passes as behavior is what is expected.
2017-11-13 11:55:54 +02:00
e94dc2aade MXS-1468: Add test case
Added test case that reproduces the bug.
2017-10-11 11:29:02 +03:00
0cd62c6f29 Make bug509 more Galera friendly
The test now skips execution of inserts to separate nodes. This should
guarantee that the nodes are synced at all times.

The test now does the inserts and selects inside a transaction to force
the reads to the same node where the inserts are done.
2017-10-02 11:50:55 +03:00
4f675997fb Use correct binlog position in mm_mysqlmon
Position 310 is not guaranteed to always exist on the master if the binlog
is just created. Position 4 will always be a valid position.
2017-10-02 11:22:13 +03:00
6a33e55b6f Backport no_vm_revert option
The VM revert on test failure was added to 2.1 but it was only disabled in
2.2.
2017-10-02 10:55:00 +03:00
6f84f960ff Add fatal signal hanlder to TestConnections
The tests now print a stack trace to standard output if it receives a
fatal signal. This will help debug test failures caused by broken tests
and unexpected results.
2017-10-02 10:32:46 +03:00
1fd50222f8 Remove .secrets on test startup
The `.secrets` file does not match shell globbing by default so it should
be explicitly removed.
2017-10-02 10:01:54 +03:00
d3acb9573f Do minor improvements to monitor tests
The mm test was on the heavy side and the workload can be reduced for the
sake of testing only the functionality.

The mm_mysqlmon test did not check the initial state of the
server. Although not necessary, adding it will help detect test failures
caused by broken replication.

mxs1457_ignore_deleted did not stop the monitors before breaking the
replication and attempting to use MaxScale. As the test expects
authentication to work regardless of the actual state of the servers, the
monitors need to be disabled before a query is attempted.
2017-10-02 00:49:17 +03:00
af08647fa2 Add variadic ssh function to mariadb_nodes
The ssh_node function now supports printf style arguments. This is used to
simplify command execution on the nodes.

Curreltny, in addition to its old usage, it is used to drop extra
databases when replication is started.
2017-10-01 10:49:11 +03:00
099c2f87bc MXS-1457: Add test case
Added a test that reproduces the problem.
2017-09-27 19:28:05 +03:00
753c61997d MXS-1451: Expand test case
The test now checks that both users with passwords and users without
passwords work through MaxScale when skip_authentication is enabled. In
addition to this, the test also makes sure that the wrong password and a
missing password are properly detected.
2017-09-26 07:48:45 +03:00
2079bba49c MXS-1451: Calculate password even with skip_authentication=true
The result of the authentication should be ignored but the scramble that
is calculated as a side-effect still needs to be stored. This can be done
by altering the SQL used to get the matching row to only match on the
username, not the network address.

Also expanded the test case to cover the use of bad credentials.
2017-09-25 19:00:44 +03:00
6601f15ff8 MXS-1451: Add test case
Added test case for MXS-1451 that reproduces the problem.
2017-09-25 13:27:55 +03:00
481ad080ef MXS-1295: Add test case
The test case checks that the strict_sp_calls parameter works as expected.
2017-09-20 11:18:16 +03:00
a4bad5ffd2 Use shorter timeouts in mxs1323_retry_read
The configuration for mxs1323_retry_read now uses shorter timeouts for
monitors. This should help the monitors detect the server failures before
the result of the SELECT returns. also increased the time the query sleeps
before returning.
2017-09-18 13:46:20 +03:00
9267f8ad70 MXS-1418: Keep connections open if server is removed
The removal of a server from a service is intended to affect only new
sessions.

Added a test that checks that the connections are kept open even if the
server is removed from the service.
2017-09-16 07:28:17 +03:00
7a8a12dd28 Update CDash drop site address
The drop site was not set to the correct one.
2017-09-12 09:29:26 +03:00
f4cd2c62b6 Backport mxs1110_16mb fixes to 2.1
Backported changes to mxs1110_16mb from develop into 2.1.
2017-09-08 09:54:17 +03:00
0daa167873 Fix bug519
The test attempted to copy the generated CSV file from the MaxScale server
when in fact it was on the master server. Removed HEAVY label from the
test as it takes about 10 seconds to run.

Cherry-picked from commit f80cde2af149fda9c47d8f9131f82527b76af487.
2017-09-08 09:54:17 +03:00
931ca0f497 Stop timeout in avro_alter before fixing replication
The resetting of the replication can take some time. By disabling the
timeout during the reset, false positives are less likely.
2017-07-31 09:42:03 +03:00
f95fff6632 Stop replication before configuring binlogrouter
The replication needs to be stopped before the binlogrouter is started. If
the replication is stopped after this, it is possible that two servers
with the same value of server_id attempt to register as slaves which
causes the later of them to fail.
2017-07-31 09:42:03 +03:00
174dad4b5b Fix master server version checks in tests
The master server version was not processed adequately and false positives
of old master versions were possible.
2017-07-31 09:42:03 +03:00
af99ab3b72 Print the JSON in avro_alter
The test now prints the output in avro_alter. The replicate_from_master
function also stops maxscale before removing the files.
2017-07-31 09:42:03 +03:00
d0d19f3ded Tune timeouts for bug662
The timeouts were a bit too demanding and increasing them should lower the
rate of false positives.
2017-07-31 09:42:01 +03:00
448d56a273 Disable replication_manager and fix mxs1323_stress false positive
The replication_manager is only designed for systems that have yum
installed which means it will always fail on non-RHEL/CentOS systems.

The query threads in mxs1323_stress were not checking whether the test had
ended while they were executing the queries. This caused test timeouts as
the queries can take a relatively long time.
2017-07-27 09:26:27 +03:00
e48fb6a071 Assume that the test database exists
The tests should not drop the test database and then recreate it. This
adds an unnecessary burden on replication which will cause false positives
when replication is not fast enough.

This is commit `2410c23e6664bef7e449dfd5a767121f309559fe` from develop
cherry-picked to 2.1.
2017-07-27 09:26:27 +03:00
563fdb4db5 Backport testing fixes to 2.1
Some of the testing fixes weren't included into 2.1 and due to that, a few
of the tests appear to fail.
2017-07-27 09:26:27 +03:00
ed44c45be1 MXS-1323: Fix crash on attempted retry of read
When a backend is waiting for a response but no statement is stored for
the session, the buffer where the stored statement is copied is not
modified. This means that it needs to be initialized to a NULL value.

Added a test that checks that the behavior works as expected even with
persistent connections. A second test reproduces the crash by executing
parallel SET commands while slaves are blocked.

There is still a behavioral problem in readwritesplit. If a session
command is being executed and it fails on a slave, an error is sent to the
client. In this case it would not be necessary to close the session if the
master is still alive.
2017-07-25 11:25:43 +03:00
24d20d2a1b Increse timeouts for mxs1071_maxrows
As the test does a lot of large inserts, the timeouts can be triggered at
times when the test is not actually stuck but just waiting for the insert
to complete. Increasing the timeout from 10 to 30 seconds should give it
enough time to finish processing.
2017-07-24 13:55:17 +03:00
7e38d8f6b7 Enable info log for mariadb_tests_hartmut_galera
The test fails for unknown reasons from time to time and enabling the info
log level should help resolve it.
2017-07-24 12:59:11 +03:00
07a5cba2de MXS-1319: Set SQL_MODE for all internal connections
When an internal connection is created, the SQL_MODE of the connection
should be set to a known default. The empty SQL_MODE allows consistent
functionality for all backend server versions.
2017-07-18 11:21:33 +03:00
01b611d895 MXS-1312: Add tests for permission type rule
The test checks that rules with only optional parts defined work.
2017-07-07 16:52:17 +03:00
26f8f9d869 MXS-1311: Add tests for keywords as function parameters
The dbfwfilter tests now test the function type rule with keywords as
parameters.
2017-07-07 16:46:54 +03:00
a23e81c438 Add test for MXS-1310
Added test that checks how the use of implicit databases is handled in
schemarouter.
2017-07-05 08:42:52 +03:00
5c50045227 Fix ALTER TABLE regression in avrorouter
The avrorouter failed to detect ALTER TABLE statements which caused a
regression. Extended the alter table tests to parse the JSON for more
strict validation of test results.
2017-07-04 09:31:11 +03:00
31504585fc Fix connect_to_nonexisting_db
The test dropped the 'test' database which is heavily used both for
checking functionality and running tests. A better alternative is to use a
custom database that is only used by this test.
2017-06-30 18:41:13 +03:00
7bb76f52e5 Disable ssl_load_galera test
The normal replication version of the test is disabled so there is no
reason to have the Galera version enabled.
2017-06-28 08:10:49 +03:00
9737ffe092 Fix masking tests
The masking filter now has a default fill value, so that if a
provided value does not match, then "X" is used.

The tests were modified to use "Y" as an explicitly provided
fill value (to distinguish from the default "X") and the results
were the default fill value would kick in were modified accordingly.
2017-06-26 12:22:39 +02:00
4c9fc1a39e Merge branch '2.0' into 2.1 2017-06-14 13:36:40 +03:00
2ab4a4fd20 Stop timeout before fixing replication
The timeout is hit very often if the cluster fixing takes some time. This
causes false positives so the timeout should be stopped before attempting
to fix the cluster.
2017-06-06 23:40:54 +03:00
943662d2b5 Rewrite temporary table test
Use stack allocated test class and use const char pointers for const
functions. Simplify the test and improve error messages.
2017-06-06 22:45:19 +03:00
de23297944 Speed up session_limits test
The test now waits for a shorter time. Also refactored the test to use
stack allocated objects.
2017-06-06 12:45:20 +03:00
8d5c6ca00f Disallow all prepared statement commands with dbfwfilter
All binary protocol prepared statements should be rejected by the
dbfwfilter in 2.0 as they aren't supported.
2017-06-06 12:34:46 +03:00
e21bec2e14 Add test for ALTER TABLE with avrorouter
The test does a set of ALTER TABLE operations and checks that MaxScale
outputs the correct data.
2017-06-05 15:33:14 +03:00
3584001281 Refactor and fix slave_failover
The test seems to fail when executed outside of a debugger. A delay
between creating the connections and checking the connection count appears
to fix the problem.

Refactored the test to use stack allocated objects and favored assertion
style functions over conditional clauses with failing assertions inside
them.
2017-06-05 13:20:16 +03:00
9c5114b593 Fix 2.1 tests
Changed object names to pre-2.2 format. Added a workaround for the unicode
NULL character problem in cdc_datatypes.
2017-06-05 13:20:16 +03:00
2e15c3b204 Update Galera configurations with 2.1 options
The root_node_as_master option needs to be disabled for 2.1 testing.
2017-06-05 13:20:16 +03:00