Commit Graph

8865 Commits

Author SHA1 Message Date
25f9cc14b4 Update avrorouter and the related tutorial
The avrorouter now uses the parameters from the source service. This
removes the need for redundant parameter definition in the avrorouter
service when they are defined in the binlogrouter service as parameters.

Added some missing configuration sanity checks and updated the tutorial to
reflect the new configuration method introduced in 2.1.
2017-09-25 10:46:55 +03:00
45b78a795e Update binlogrouter defaults
The documentation stated that the binlogrouter would use the cache
directory to store the binary log files. In reality, there was no default
value and the service would fail to start without a binlogdir parameter.

The router now uses the data directory (/var/lib/maxscale/) to store the
binary logs.

Set the default value of mariadb10-compatibility to true. This is in line
with the fact that most installations should use the router with a MariaDB
10.0 server or newer.
2017-09-25 10:46:55 +03:00
18b0d3575e Speed up binlog tests
The binlogrouter tests can safely use the sync_slaves functionality of the
test framework as long as a sensible timeout is used.

Cleaned up the tests by removing redundant code and allocating classes
from the stack thus removing the need to handle memory allocation.
2017-09-25 10:46:55 +03:00
944a5bd9c1 Only extract successful PS responses
If a prepared statement fails to execute on a backend server, no prepared
statement ID is returned. As the connection to the slave backend will be
closed when the result of a session command differs from the master's
response, there's no need to even attempt extracting the response.

This change avoids the triggering of a false positive in
mxs_mysql_extract_ps_response when an attempt to extract a
COM_STMT_PREPARE response is made on a response that isn't a
COM_STMT_PREPARE response.
2017-09-25 10:46:55 +03:00
9f31b746a0 Create rules directory in mxs1110_16mb
The test uses the dbfwfilter but it does not create the directory where
the rules are stored.
2017-09-25 10:46:55 +03:00
7082edc4ed Also extract SQL from COM_STMT_PREPARE
COM_STMT_PREPARE contains the plain-text prepared statement so it can be
extracted as if it were a COM_QUERY command.
2017-09-25 10:46:55 +03:00
2d590308b6 Set current command when executing queued queries
When readwritesplit is routing any queued queries, the currently executed
command of the protocol modules needs to be adjusted by
readwritesplit. This is not a true fix but more of a workaround to fix the
problems of queued query execution.

The correct solution would be to move the queued query handling into the
client protocol module so that all components see the same state.
2017-09-25 10:46:55 +03:00
bfeaceb070 Assert that only complete COM_STMT_PREPARE responses are returned
Asserting that only a complete COM_STMT_PREPARE is returned when the
prepared statement preparation is extracted will guarantee that the
protocol works as expected.
2017-09-25 10:46:55 +03:00
30f92ebb4b Only pre-process the current statement
If a statement is about to be queued, there's no need to fully parse it
when it will be done again once the current command being executed
finishes.
2017-09-25 10:46:55 +03:00
14920fef6c Enable info log for mxs1110_16mb
The info log should help resolve why MaxScale crashes with a debug
assertion.
2017-09-25 10:46:55 +03:00
b1859cc7a5 Speed up lots_of_rows
The test inserted 200k rows with autocommit enabled which made it very
slow. Wrapping the inserts inside a transaction gives the test a
significant speed boost.
2017-09-25 10:46:55 +03:00
54f4c6ff73 Clean up binlog_semisync
Removed unnecessary newlines and for loops that were executed only once.
2017-09-25 10:46:55 +03:00
ba47d80efa Only test edge cases in different_size tests
The tests should only test the cases when the payload size changes the
number of packets the query generates. This involves generating only one
packet, one full packet and one partial packet and one full packet and one
empty packet. These cases should cover all reasonable edge cases and
further testing doesn't seem to provide any significant benefit.
2017-09-25 10:46:55 +03:00
fbc1a7d44b Fix handling of multi-packet queries in readwritesplit
If a prepared statement sends large amounts of data, the target server
where the data is sent will be tracked. The tracked target was not reset
after a multi-packet query was completed and the target itself was used to
check whether the session was processing a multi-packet query.

Changed the check to use the boolean variable instead of the target and
added a reset of the tracked target after a multi-packet query was
completed.
2017-09-25 10:46:44 +03:00
845b59ad48 Fix buffer size for testbinlog.c
Fix buffer size for testbinlog.c
2017-09-21 11:01:55 +02:00
8d136d7979 Scripts work without . in the PATH
Scripts work without . in the path and also if invoked from anywhere.
2017-09-21 10:13:12 +03:00
c015adfe92 Update 2.1 release notes 2017-09-21 10:08:50 +03:00
db7e2c2ffb Use /usr/bin/env perl instead of /bin/perl
This allows Perl to be installed in other locations.
2017-09-21 09:51:58 +03:00
eb0f8ef25d Drop unused databases
The test code should drop any databases that it creates. Also fixed the
typo in the database name.
2017-09-21 09:42:38 +03:00
595827f9f0 Clean up pers_01 test
The test used an unnecessary timeout in places where one is not
expected. It also restarted MaxScale with no apparent reason.
2017-09-21 09:36:50 +03:00
cda1fdc26a Refactor fwf_syntax
Use stack allocated classes, check return value of the start command and
combine the rule creation function.
2017-09-21 09:36:50 +03:00
049eb68254 Combine redundant dbfwfilter tests
The fwf test now only tests the functionality of the rules themselves, not
the parsing. The fwf_syntax test handles the testing of the parser. The
fwf2 test was removed as it was almost identical with the original fwf
test.
2017-09-21 09:36:50 +03:00
773bae1615 Speed up testing
Removed unnecessary sleeps from tests that appear to serve no
purpose. Moveed the kerberos code from the general startup routines to the
kerberos test.
2017-09-21 09:36:50 +03:00
20bfe16d11 Remove unnecessary sleeps
Every time MaxScale was restarted, the test waited for a total of 25
seconds. As MaxScale should start before the command returns, the sleep is
not necessary.

Added StartLimitBurst=0 to the systemd service file to allow rapid
restarts of MaxScale.
2017-09-21 09:36:50 +03:00
eb3a9667fc Discard connections on interrupted COM_CHANGE_USER
Close the connection if a COM_QUIT is received while the COM_CHANGE_USER
is in progress.
2017-09-21 09:25:56 +03:00
b2d53a963a Fix the bug listing script
The script had the Markdown links in the wrong order.
2017-09-21 09:25:32 +03:00
9c0dbb5511 Add 2.1.9 release notes
Added 2.1.9 release notes.
2017-09-21 09:25:32 +03:00
17f6edbfc0 Fix links
The link syntax was the wrong way around.
2017-09-20 14:21:03 +03:00
2067079a44 Update ChangeLog and Upgrading 2017-09-20 12:31:02 +03:00
f5cbd4a0bc Fix links
The link syntax was the wrong way around.
2017-09-20 12:27:18 +03:00
825e1478a1 MXS-1423: CHANGE MASTER TO tests with GTID option set
MXS-1423: CHANGE MASTER TO tests with GTID option set
2017-09-20 10:44:19 +02: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
9046db06c5 MXS-1295: Add strict_sp_calls parameter
The new parameter allows the session to be "locked" to the master server
after a stored procedure is called. This will keep the session state
consistent if the stored procedure call modifies the state of the session.
2017-09-20 11:18:16 +03:00
1b009f94cf Merge branch '2.1' into develop
MXS-1377
2017-09-20 11:08:48 +03:00
9d9cffe4c7 MXS-1377 Always delete the pid-file
Earlier the pid-file was deleted only if the MaxScale startup
succeeded and MaxScale exited in normal fashion.
2017-09-20 10:57:13 +03:00
b5ec55dea8 Update version to 2.1.9 2017-09-20 10:51:48 +03:00
68bcd00a22 Merge branch '2.1' into develop 2017-09-20 10:47:53 +03:00
8ff0c0ad6d Update release date 2017-09-20 10:01:27 +03:00
3936c71e11 Add missing includes 2017-09-19 15:46:13 +03:00
1067e76121 Fix CMake variables of cdc_connector
The library is not a static library but a shared object.
2017-09-19 11:18:21 +03:00
a26f6f6087 Make run_session_hang.sh shorter
The test was unnecessarily long.
2017-09-19 10:11:42 +03:00
364789abde MXS-1404: Add experimental Group Replication monitor
The monitor performs simple monitoring of a group replication cluster. It
expects no extra parameters in addition to the common monitor parameters
and will only set master and slave status bits on the servers. It is a
part of the experimental package as it is a very experimental module.

Further improvements would be to add the usage of the synced state.
2017-09-19 09:50:29 +03:00
6b22865f7d MXS-1413: Make the library dynamic
The static library cannot be linked to the Jansson static library by
CMake. This appears to be a limitation in CMake and a manual combination
of the two files would be required.

For the time being, the connector is only built as a shared library.
2017-09-19 06:55:49 +03:00
062a358077 MXS-1413: Make the CDC connector a standalone library
The library is still located in the test directory but the way it is now
built allows it to be used like a standalone library
2017-09-19 06:55:49 +03:00
3541d6e0a4 MXS-1413: Add row processing to cdc_connector
The connector now processes rows into objects which expose the values and
types of each returned row.
2017-09-19 06:55:49 +03:00
36ec6e443e MXS-1413: Use JSON_ALLOW_NUL when loading JSON
The cdc_result.cpp uses json_loads to extract the JSON and JSON_ALLOW_NUL
needs to be added to allow null unicode characters to be extracted.
2017-09-19 06:55:49 +03:00
52da6c0214 MXS-1413: Move cdc_connector into a subdirectory
Moved the cdc_connector into a subdirectory to distinct it from the other
test sources.
2017-09-19 06:55:49 +03:00
15c16e378b Add fixed bugs to 2.1.8 release notes
Added MXS-1418 and MXS-1409 to release notes.
2017-09-18 23:12:01 +03:00
e8a9a393ae Fix bug and issue list scripts
The scripts now properly handle quoted CSV values with the help of a Perl
script.
2017-09-18 22:57:37 +03:00
aaa60d37e6 Add missing parameter documentation to maxrows
Documented new parameters.
2017-09-18 22:03:30 +03:00