GCloud machines has more strict access rights settings. Derect calls of
'chmod' are needed to make all configuration files (e.g. 'fwf/rules') be
accessable by Maxscale.
The slave backend would be closed twice if it would both respond with a
different result and be closed due to a hangup before the master
responded.
Added a test case that reproduced the problem.
The pkill executable is provided by the same package that provides ps
which is why it is more likely to be installed. Seems that the test VMs
don't always have killall installed.
Run the MaxScale process with the maxscale user instead of the root user
to prevent any new files from being owned by a different user.
Cherry-picked the commit a06c122a5e050071589f724758d6bbd3d8d3f419 from
develop.
commit 48a0b902b67da46f1eed4afa687bdcb56b59d02f
Author: Timofey Turenko <timofey.turenko@mariadb.com>
Date: Mon Dec 16 15:35:07 2019 +0200
Increase timouts in the mxs173_trottle_filter test
commit 81d8083a89421a8004b8024d480ae0f35d715b86
Author: Timofey Turenko <timofey.turenko@mariadb.com>
Date: Mon Dec 16 14:19:39 2019 +0200
Increase timeouts in max1071_maxrow test
commit e1039c6132f0e9274b8801165f3f905ede7c9421
Author: Timofey Turenko <timofey.turenko@mariadb.com>
Date: Mon Dec 16 00:06:53 2019 +0200
Remove hardcoded 'home/vagrant/' from all maxscale.cnf in system tests
commit 28c8029e060afdcf5159bf802b13dcd5e484d9f1
Author: Timofey Turenko <timofey.turenko@mariadb.com>
Date: Sun Dec 15 21:31:34 2019 +0200
Use private IP for Galera congiguration in maxscale-system-tests
commit 66dc36cbf43a5fb92465df31e1295e82865be1fc
Author: Timofey Turenko <timofey.turenko@mariadb.com>
Date: Sun Dec 15 09:06:28 2019 +0200
Fix typos in fwf_*.cpp
commit 44c7a4384ddf39596c0254c955aeb6c008a00a35
Author: Timofey Turenko <timofey.turenko@mariadb.com>
Date: Sun Dec 15 09:05:26 2019 +0200
Fix typos in fwf_*.cpp
commit 2649017611908a8b0d27090f49722947ac31c4f4
Author: Timofey Turenko <timofey.turenko@mariadb.com>
Date: Sun Dec 15 09:03:41 2019 +0200
Fix typos in fwf_*.cpp
commit 5cc87658523e8496eaab17700be8a821af5b0cde
Author: Timofey Turenko <timofey.turenko@mariadb.com>
Date: Sat Dec 14 23:54:53 2019 +0200
Fix typo in fwf_copy_rules.cpp
commit fb1accc36cb9d79691469f63cb4535f3bc38dedd
Author: Timofey Turenko <timofey.turenko@mariadb.com>
Date: Sat Dec 14 23:52:51 2019 +0200
More hardcoded 'vagrant' removals
commit 77e49d474b4abe767629ff87b01f08137773d761
Author: Timofey Turenko <timofey.turenko@mariadb.com>
Date: Sat Dec 14 23:35:09 2019 +0200
Fix hardcoded 'vagrant' user in fwf* tests
Several firewall filter tests has hardcoded 'vagrant' as a user name for
access user on the VM. Changed to node->access_user.
commit ed5ab1487f37822db6a7478f76c0f3652776c389
Author: Timofey Turenko <timofey.turenko@mariadb.com>
Date: Sat Dec 14 22:50:35 2019 +0200
Fix IP vs IP_private
Many tests use IP instead of IP_private which makes them failed in the
AWS or GCloud environment.
The same applies to get_conn_num() etc functions.
commit 0558aac23d303a675dc12d05b1766e698753b444
Author: Timofey Turenko <timofey.turenko@mariadb.com>
Date: Thu Aug 15 12:02:01 2019 +0300
fix IP -> IP_private for some mysqlmon* testst
commit 5d9c70970d970eb995c8774d0088bd1c54ab76fe
Author: Timofey Turenko <timofey.turenko@mariadb.com>
Date: Sat Dec 14 20:20:51 2019 +0200
Replace IP to IP_private in the maxscale-system-tests
commit b06cf3329af59ff100748691991213fe639f29e6
Author: Timofey Turenko <timofey.turenko@mariadb.com>
Date: Tue Nov 19 11:52:33 2019 +0200
Remove spaces from value which were read from *_network_config
MDBCI can put spaces around values in the *_network_config file which
can cause ssh connection failures in the tests. To fix it removing all
spaces from all values which were read from *_network_config
commit b3904f019847ef1db9d4ec9714ad9ef869fa0b01
Author: Timofey Turenko <timofey.turenko@mariadb.com>
Date: Thu Dec 12 23:36:31 2019 +0200
Increate default timeout for all system tests
1) Only two backends are set up for extra-port
2) The setting is checked to work by connecting directly to servers
3) The server connections are saturated before starting MaxScale
4) MaxScale logs are checked for extra-port-related messages
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
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.
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.
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.
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.
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.
Syncing the slaves should prevent replication lag from affecting the
test. The added logging will help determine what the error was that caused
the failure.
Before the MXS-2250 fix, the following ends with an error:
CREATE TEMPORARY TABLE t (f INT);
DESCRIBE t;
Reason is that the first is sent to the master (and the table will
not be replicated to slaves) and the latter to some slave.