12609 Commits

Author SHA1 Message Date
Timofey Turenko
0f8b7450b1 Merge branch '2.3' of github.com:mariadb-corporation/MaxScale into 2.3 2019-04-23 12:29:33 +03:00
Timofey Turenko
a60e3c275c Merge branch '2.3' of github.com:mariadb-corporation/MaxScale into 2.3 2019-04-23 12:24:58 +03:00
Markus Mäkelä
ba79028a46
Add debug assertions into the core
The assertions make sure DCB writes and reads are only done by the thread
that owns them.
2019-04-23 11:46:38 +03:00
Johan Wikman
f41ce6db16 Update maintenance version for 2.3 2019-04-23 11:20:38 +03:00
Johan Wikman
a8639c3226 Merge branch '2.3.6' into 2.3 2019-04-23 11:20:09 +03:00
Johan Wikman
2d8a93e88d Update 2.3.6 release date 2019-04-23 11:17:01 +03:00
Timofey Turenko
7fc3527e1d Check for Docker in run_npm_test.sh
Lack of Docker can cause build failure
To avoid it if Docker is not available
test is not started, simply returns 0
It is hard to make Docker installation reliable especially for very old or very new distros
2019-04-18 12:10:24 +03:00
Timofey Turenko
4e2b6d6cb3 Add maxscale-system-test dependecies installation script 2019-04-18 03:44:02 +03:00
Markus Mäkelä
03dc969cf2
Fix use-after-free in LocalClient
If the DCB was closed before the handshake for the LocalCliet connection
was received, the gw_decode_mysql_server_handshake would use the closed
DCB to log the connection ID. Clearing out the pointer prevents it.
2019-04-17 16:33:27 +03:00
Markus Mäkelä
3e04922565
MXS-2415: Fix client callbacks in arvorouter
The DCB callbacks shouldn't be used to send more events as they cause the
callback to be called recursively. The recursive calls caused rows to be
sent before the schemas for the rows were sent. Queuing the events via the
worker mechanism prevents this.
2019-04-17 16:07:05 +03:00
Markus Mäkelä
61f728c05a
MXS-2433: Reduce default query classifier cache size
Reduced the default cache size from 40% to 15%. Most cases don't benefit
from that much memory and the defaults have caused problems in live
environments.
2019-04-17 16:07:04 +03:00
Markus Mäkelä
d13e6e56ee
MXS-2433: Never cache multi-packet queries
If a query spans more than a single packet, it will never be successfully
classified due to the fact that the complete SQL is never available to the
query classifier. For this reason, it is pointless to cache them.
2019-04-17 16:07:04 +03:00
Markus Mäkelä
aca3d65bbb
MXS-2381: Add alter user
The `alter user` command makes password changes easier and keeps the usage
consistent across types in MaxScale.
2019-04-17 16:07:04 +03:00
Markus Mäkelä
b008c5a1e6
Add links to the sizes section
Links to the size type description in the documentation help explain what
sort of values are expected.
2019-04-17 14:10:48 +03:00
Markus Mäkelä
d77530a2a4
Use a known binlog name for Galera
The binlog files for Galera shouldn't rely on implicit naming simply due
to the fact that it logs a warning.
2019-04-17 13:32:21 +03:00
Esa Korhonen
64e282f74b Fix config of mysqlmon_multimaster_serverid 2019-04-17 11:26:38 +03:00
Markus Mäkelä
163b3a2da5
Fix unhandled promise rejection in create monitor
If a monitor was created with an argument that was not a key-value type, a
promise would be rejected outside of the main maxctrl function. Added a
test case that covers this and fixed a few other test coverage problems
that were present.
2019-04-17 11:17:33 +03:00
Markus Mäkelä
cba23781e0
Remove deprecated Galera options
The Galera installation warns that the two removed options are deprecated.
2019-04-17 11:17:33 +03:00
Markus Mäkelä
a4c6f3542a
MXS-2315: Tokenized CS version extraction
The STL regex implementations have proven to be unreliable on older
systems and replacing the regex with hand-written code for version
extraction is less prone to break.
2019-04-17 11:17:33 +03:00
Markus Mäkelä
fb785d1afc
Merge branch '2.3.6' into 2.3 2019-04-17 11:17:13 +03:00
Markus Mäkelä
665f0ddb89
Fix non_native_setup
The arguments must be passed as-is to the TestConnections constructor.
2019-04-17 11:16:16 +03:00
Markus Mäkelä
54cb6991d1
Wait for the monitor in mxs559_block_master
The test seems to fail from time to time due to the monitor not picking up
the master state fast enough. To prevent this, the test needs to wait for
at least one monitor interval.
2019-04-17 11:16:16 +03:00
Markus Mäkelä
d3bfe0a712
Fix handling of large result packets
The RWBackend didn't know to skip the tail end of large packets.
2019-04-17 11:16:16 +03:00
Johan Wikman
e9cc79d623 Fix typo in release notes 2019-04-17 09:31:49 +03:00
Esa Korhonen
2ca9337da1 Merge branch '2.2' into 2.3 2019-04-16 16:34:57 +03:00
Esa Korhonen
5ba305c2c1 MXS-2426 Do not permanently disable automatic cluster operations when they fail
Only disabled for "failcount" monitor ticks. Also turns some related log
messages to notices.
2019-04-16 11:26:34 +03:00
Johan Wikman
3a4bec921a Update 2.3.6 Change log and Release notes. 2019-04-16 11:07:17 +03:00
Esa Korhonen
f8a22d0ac0 MXS-2344 Add setting for enabling SSL for replication
If the monitor setting "replication_master_ssl" is set to on, any CHANGE MASTER TO-command
will have MASTER_SSL=1. If set to off or unset, MASTER_SSL is left unchanged to match existing
behaviour.
2019-04-15 19:15:45 +03:00
Markus Mäkelä
9941f7d763
Merge branch '2.2' into 2.3 2019-04-15 16:13:04 +03:00
Timofey Turenko
b9aec60d7a Merge branch '2.2' of github.com:mariadb-corporation/MaxScale into 2.2 2019-04-15 15:00:49 +03:00
Timofey Turenko
2e7ef72e3a make ~/.ssh/id_rsa.pub default key for loading into test VMs 2019-04-15 14:59:39 +03:00
Timofey Turenko
74ea0a844c remove whitespace at end of line 2019-04-15 14:56:07 +03:00
Timofey Turenko
87741b7190 Add copying of ssh public keys to test VMs
mdbci public_keys command copies ssh public keys from given file to all created VMs
2019-04-15 13:48:19 +03:00
Timofey Turenko
a920534e94 add / to MDBCI_VM_PATH
If case of MDBCI_VM_PATH variable does not have trailing slash full names of _network_config
and _lables files are defined in the wrong way: MDBCI_VM_PATH is interpreted as a part of file name
instead of direcoty name
2019-04-15 13:45:18 +03:00
Timofey Turenko
7ecc70fd5d Move versions checks after nodes checks
In case when nodes/servers/replication/etc in backend are broken test can not
get proper version information and exits without doing anything.
To avoid it, test first checks backend, call fix_replication() if needed
and only after that tris to check if backend version is ok for this test
2019-04-15 13:01:03 +03:00
Markus Mäkelä
bd54efbb3f
Fix skip_encoded_int
A single byte integer wasn't skipped.
2019-04-15 12:18:30 +03:00
Markus Mäkelä
f6bd9fefa4
Move assertion after error message
Logging the internal state before the assertion makes it easier to figure
out why the assertion failed in the first place.
2019-04-15 12:07:48 +03:00
Markus Mäkelä
b3399dccc4
Remove useless templates from RWBackend functions
There's no need for templates as the code is only used with one
type. Changed the code to use std::advance as that might avoid a copy of
the iterator.
2019-04-12 16:31:43 +03:00
Johan Wikman
4131f09c16 MXS-2431 Recognize the XA keyword
Recognize the XA keyword and classify the statement as write.
Needs to be dealt with explicitly as sqlite3 assumes there are
no keywords starting with the letter X.
2019-04-12 11:05:15 +03:00
Johan Wikman
62f2a86a5f MXS-2431 Add test that reveals the problem 2019-04-12 10:30:36 +03:00
Markus Mäkelä
1652b18a7b
Fix whitespace in canonicalized queries
Trailing whitespace was not removed and whitespace wasn't normalized to
spaces.
2019-04-12 09:18:07 +03:00
Markus Mäkelä
d2ecaa83a6
Move result start handling into separate function
The largest part of the code deals with the start of a response. Moving
this into a subfunction makes the function clearer as the switch statement
inside a switch statement is removed.
2019-04-12 09:18:07 +03:00
Markus Mäkelä
746bd53668
Simplify RWBackend result handling
By processing the packets one at a time, the reply state is updated
correctly regardless of how many packets are received. This removes the
need for the clunky code that used modutil_count_signal_packets to detect
the end of the result set.
2019-04-12 09:18:05 +03:00
Markus Mäkelä
e6526dd9ea
Add extra info logging to readwritesplit
Added logging into RWBackend reply state processing code to know more.
2019-04-12 09:17:48 +03:00
Timofey Turenko
4128937d37 fix rhel repo copying 2019-04-09 15:33:52 +03:00
Timofey Turenko
0ce5f87a91 Add support for RHEL8 repository creation 2019-04-09 13:57:25 +03:00
Markus Mäkelä
bc5f9da6c4
Add classification test case
Also removed the dead code that was never used to get coverage to 100%.
2019-04-09 10:56:38 +03:00
Markus Mäkelä
9a5b60a071
Add forced maintenance mode tests
Tested that the force option works and is accepted.
2019-04-09 10:00:50 +03:00
Markus Mäkelä
0932d10169
Do node checks in parallel
The checking of MariaDB and Galera nodes is now done asynchronously while
the MaxScale check is done which leads to faster testing. Rough
measurements show that doing all the work in parallel reduces test startup
time by two seconds. Most of the time appears to still be in the MaxScale
startup which takes on average three to four seconds per test.
2019-04-09 09:43:19 +03:00
Markus Mäkelä
5e3af05d48
Speed up test startup
The VM connectivity and log truncation is now done in parallel.
2019-04-09 09:43:19 +03:00