8235 Commits

Author SHA1 Message Date
Johan Wikman
cb15d90da9 MXS-1337 qc_sqlite info structure now a C++ class
The structure for storing statement information is now a C++ class.
At least initially it will not be turned into a full-fledged class
that would contain all functionality, but the code will be a mishmash
of C and C++.
2017-08-02 09:11:35 +03:00
MassimilianoPinto
0597b625d3 SHOW FULL BINARY LOGS reports domain_id/server_id prefix only if binlog_structure is TREE
SHOW FULL BINARY LOGS reports domain_id/server_id prefix only if
binlog_structure is TREE
2017-08-01 15:49:16 +02:00
MassimilianoPinto
f301c2ade1 The binary_logs_select_cb() returns now 0 after sending data to client
The binary_logs_select_cb() returns now 0 after sending data to client
2017-08-01 09:13:52 +02:00
Johan Wikman
e4f0598743 Convert qc_sqlite.c to C++
MXS-1307 requries some modifications in the query classifier and
making those changes is easier if STL collections are available.
2017-08-01 08:45:03 +03:00
Markus Mäkelä
3eb99139f5 Merge branch '2.1' into develop 2017-07-31 15:57:05 +03:00
Markus Mäkelä
95c254a8b0 Update release date 2017-07-31 15:45:59 +03:00
MassimilianoPinto
39629c412d Binlog server: added prefix to last file in SHOW FULL BINARY LOGS
Binlog server: added prefix to last file in SHOW FULL BINARY LOGS
2017-07-31 10:27:18 +02:00
Markus Mäkelä
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
Markus Mäkelä
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
Markus Mäkelä
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
Markus Mäkelä
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
Markus Mäkelä
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
Markus Mäkelä
1034641fa5 MXS-1317: Change default for monitor_interval to 2000
The default value for monitor_interval is now 2000 milliseconds.
2017-07-31 06:06:39 +03:00
MassimilianoPinto
788386cfee Master GTID registration in Binlog Server: documentation update PART 2_1
Master GTID registration in Binlog Server: documentation update PART 2_1
2017-07-28 11:09:55 +02:00
Markus Mäkelä
fcabda15a8 MXS-1335: Disable root_node_as_master by default
Enabling the option hinders the use of maintenance mode with the root
master node in most use-cases.

This behavior occurs due to the fact that the maintenance mode causes a
server to be treted as if it was down. The Galera monitor waits for the
cluster to reorganize before assigning a new master node. This is correct
(but very unexpected) behavior for single instance use-cases.
2017-07-28 11:52:49 +03:00
MassimilianoPinto
5ceb2673a3 Master GTID registration in Binlog Server: documentation update PART 1
Master GTID registration in Binlog Server: documentation update PART 1
2017-07-28 09:13:46 +02:00
Markus Mäkelä
6d9500d898 Add links to release notes in Changelog.md
The Markdown links do not work as the release note files do not exist but
the resulting KB links do work.
2017-07-28 09:47:24 +03:00
Markus Mäkelä
0256be660f Fix missing zlib in build scripts
The zlib library wasn't explicitly installed which caused it to fail on
Debian 9.
2017-07-27 16:49:45 +03:00
Markus Mäkelä
08c51aa598 Remove broken links
The links in old upgrading guides and the changelog pointed to documents
that do not exist.
2017-07-27 16:19:50 +03:00
Markus Mäkelä
86994457e1 Update 2.1.5 release notes
Added all fixed bugs and short descriptions of the major changes.
2017-07-27 16:19:50 +03:00
MassimilianoPinto
9be449edf8 Binlogrouter: documentation update for last seen GTID in SHOW SLAVE STATUS
Binlogrouter: documentation update for last seen GTID in SHOW SLAVE
STATUS
2017-07-27 10:13:25 +02:00
MassimilianoPinto
380fa35b4f Add Slave_pos for Using_Gtid in SHOW SLAVE STATUS only if Master GTID mode is set
Add Slave_pos for Using_Gtid in SHOW SLAVE STATUS only if Master GTID
mode is set
Possible output values are:

Default
   Using_gtid: No
or
   Using_gtid: Slave_pos
2017-07-27 10:13:25 +02:00
Johan Wikman
4985bf9b6e MXS-1328 Mark regexp functions as builtin functions
Regexp functions were not listed among the builtin read-only
functions and consequently any SELECT using one of those was
routed to master.
2017-07-27 09:58:32 +03:00
Johan Wikman
d54616f075 Update 2.1.5 release notes 2017-07-27 09:58:32 +03:00
Markus Mäkelä
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
Markus Mäkelä
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
Markus Mäkelä
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
Markus Mäkelä
e26ec4f8b9 MXS-1329: Only parse text protocol statements
The query classifier should only be used to parse text protocol
statements. The insertstream filter exploited the fact that any statements
that the filter did not expect would be classified as an unknown
commands. This led to repetitive error messages with binary protocol
statements.
2017-07-27 09:26:27 +03:00
Johan Wikman
2d59148a9f MXS-1307 Grant statements excluded
MaxScale does not need to fully parse grant statements. Hence
they are commented out from cte_grant.test.
2017-07-27 09:22:19 +03:00
MassimilianoPinto
7048bef533 Added documentation for mariadb10_slave_gtid
Added documentation for mariadb10_slave_gtid
2017-07-26 11:25:01 +02:00
Markus Mäkelä
fc81a8097f Add missing length and real_type fields to cdc_schema.go
The Go version of the CDC schema generator was missing the new `length`
and `real_type` fields.
2017-07-25 21:08:50 +03:00
Markus Mäkelä
ba3912ddb4 MXS-1326: Fix postrm script
The script could only work on RPM based systems as DEB based uninstall
scripts are called with different parameters, namely "remove" instead of
"0".
2017-07-25 11:25:43 +03:00
Markus Mäkelä
f16e93c112 MXS-1285: Check that upstart config exists before copying it
The existence of the file should be checked before it is copied. Otherwise
the installation will produce errors.
2017-07-25 11:25:43 +03:00
Markus Mäkelä
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
Markus Mäkelä
2148d78d3f MXS-1324: Fix build scripts for Debian-based systems
The avrorouter dependencies weren't correctly built for Debian-based
systems. This is due to the different way Debian and RHEL store libraries.
2017-07-25 11:25:43 +03:00
Johan Wikman
17a09412cc Update ChangeLog and Upgrading 2017-07-25 10:42:18 +03:00
Johan Wikman
6ac3484e31 Update 2.1.5 version number 2017-07-25 10:42:18 +03:00
Markus Mäkelä
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
Markus Mäkelä
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
Markus Mäkelä
26bf342e6b Merge branch '2.1' into develop 2017-07-24 12:37:25 +03:00
Markus Mäkelä
4bb4b921cb MXS-1300: Add check for Node.js version
The Node.js version is checked before MaxCtrl is built.
2017-07-24 12:33:19 +03:00
MassimilianoPinto
81327dffca Masking filter configuration update for tests
Masking filter configuration update for tests
2017-07-24 11:28:32 +02:00
MassimilianoPinto
dc6bc22237 Masking Filter: removed extra constraints which cause some tests to fail
Masking Filter: removed extra constraints which cause some tests to fail
2017-07-24 11:28:32 +02:00
Johan Wikman
6ba3193d5f MXS-1322 When flushing the log file, it will not be truncated
Earlier when the log file was flushed, it was also truncated,
which meant that the log content was log, unless the file first
was moved. Now it will only be opened. Thus, no data can be lost
due to the operation. If logrotate it used, the end result will
be the same, as the file is moved first.
2017-07-24 11:03:52 +03:00
Markus Mäkelä
f76e4cd61d Fix GCC 7 and OpenSSL 1.1 build failures
Fedora 26 and Debian 9 have both GCC 7 and OpenSSL 1.1. These fixes add
support for the newer versions of these libraries.
2017-07-24 10:38:47 +03:00
Markus Mäkelä
ba5a321ec3 MXS-1300: Improve overall error handling
All errors are now returned as rejected Promises. This will make the error
reporting more consistent with the tested output as well as the actual
output.

Added more tests for error cases and fixed minor argument processing bugs.
2017-07-23 08:21:00 +03:00
Markus Mäkelä
c9f3d014d6 MXS-1300: Improve test coverage
The tests now cover 100% of all source files with the exception of the
call.js and common.js source files.
2017-07-23 08:21:00 +03:00
Markus Mäkelä
090de1a0f7 MXS-1220: Make individual listeners resources
The listeners are now a proper sub-resource of the service resource. This
means that it acts like a normal resource and can be queried both as a
collection of resources and as an individual resource.
2017-07-23 08:21:00 +03:00
Markus Mäkelä
e76dc80e47 MXS-1300: Reorganize and refactor tests
The tests are now sorted by command type. This allows for more consistent
test creation as tests can be done per source code file instead of per
object type.

Added helper functions for common testing operations. The two main ones
are doCommand, which executes a MaxCtrl command and returns a result, and
verifyCommand, that executes a command and verifies the result via the
REST API.
2017-07-23 08:21:00 +03:00
Markus Mäkelä
03b00c7746 Fix error message for unknown global parameter
When an unknown global parameter was modified, the error message
mistakenly logged onl the value of the parameter instead of the name and
value.
2017-07-23 08:21:00 +03:00