10051 Commits

Author SHA1 Message Date
Markus Mäkelä
24870e278c
MXS-1913: Check session before invoking dcb_foreach callback
If the session is the dummy session, the callback should not be called.
2018-06-12 23:55:30 +03:00
Johan Wikman
d9100278b0 MXS-1719 Update qc test parser
The recent change to the qc_sqlite parser also requires some
modifications to the parser used for reading .test-files.
2018-06-12 17:35:49 +03:00
Johan Wikman
776f199d01 MXS-1719 Treat # comments the same way as -- comments
sqlite does not treat # as the start of a to-end-of-line
comment. It cannot trivially be treated as such because at
startup sqlite parses statements containing the #-character.
Thus, only after sqlite has been initialized can it be treated
the same way as --.
2018-06-12 17:35:49 +03:00
Johan Wikman
f5f454a29b MXS-1884 Clarify what a list means 2018-06-12 17:29:00 +03:00
Johan Wikman
f87fc45511 MXS-1884 Wrap lines of readconnroute documentation
No other changes.
2018-06-12 17:29:00 +03:00
dapeng huang
cd136b11a7 MXS-1891: dealloc named prepare should route to all (#174)
* dealloc named prepare route to all

* add newline

* erase from ps manager too

* little refactor
2018-06-12 10:45:11 +03:00
Markus Mäkelä
1a24f0a956
Merge branch '2.1' into 2.2 2018-06-11 10:36:57 +03:00
Markus Mäkelä
283a6d564e
Update MaxCtrl dependencies
Updated various npm dependencies of MaxCtrl. Also updated the testing
docker-compose image to use 10.2.
2018-06-11 09:17:02 +03:00
Markus Mäkelä
1e1734f42e
MXS-1910: Only require ssl_ca_cert for servers
Servers in MaxScale can encrypt the connections without client keys and
certificates. As keys and certificates are no longer required, the CA
certificate must always be initialized.
2018-06-09 00:15:48 +03:00
Markus Mäkelä
a7dd2127d6
Merge branch '2.1' into 2.2 2018-06-08 11:21:35 +03:00
Markus Mäkelä
c850336199
MXS-1907: Allow ssl_verify_peer_certificate when creating listener
When a listener is created at runtime or SSL is being enabled for an
already created listener, the ssl_verify_peer_certificate parameter can
now be defined.
2018-06-08 10:11:43 +03:00
Markus Mäkelä
6ba423cf94
Dump statements on unexpected internal state
If a server responds when no response was expected, dump stored
statements. This should help deduce root causes of problems relating to
unexpected responses.
2018-06-08 07:45:18 +03:00
Markus Mäkelä
d0feff5eb3
Wait for a number of monitor intervals in tests
The tests can now wait for a number of monitor intervals. This removes the
need to have hard-coded sleeps in the code and makes monitor tests more
robust under heavier load.
2018-06-08 07:45:18 +03:00
Markus Mäkelä
7be11af911
Fix release documentation
Copied the contents of the pull request to the wrong repo to the correct
one.
2018-06-08 07:45:18 +03:00
Markus Mäkelä
600d459079
Fix attribute assignment in mxs1824_double_cursor
Used correct type, checked for return value.
2018-06-08 07:45:18 +03:00
Markus Mäkelä
238a00f29d
Set mysqlmon timeouts to 10 seconds
The backend timeouts should help prevent disconnections.
2018-06-08 07:45:18 +03:00
Marko
0dd7448586 MXS-1709 Fix memory leaks in unit tests 2018-06-06 22:59:52 +03:00
Marko
3c0f301674 MXS-1709 Fix to test_server 2018-06-06 22:36:10 +03:00
Marko
82a95bfe2d MXS-1709 Fix memory leaks causing test_server to fail 2018-06-06 22:36:10 +03:00
Johan Wikman
235bcb4d15 Update 2.2 version number 2018-06-06 14:42:30 +03:00
Johan Wikman
f76abd5584 Merge branch '2.2.9' into 2.2 2018-06-06 14:41:32 +03:00
Johan Wikman
9e70ce5ffd Fix broken documentation link 2018-06-06 14:38:10 +03:00
Johan Wikman
acc192b477 Merge branch '2.2.9' into 2.2 2018-06-06 12:13:02 +03:00
Johan Wikman
ff5f93a751 Update 2.2.9 release date 2018-06-06 12:05:39 +03:00
Markus Mäkelä
f2b2951c99
Track the number of performed monitoring intervals
Tracking how many times the monitor has performed its monitoring allows
the test framework to consistently wait for an event instead of waiting
for a hard-coded time period. The MaxCtrl `api get` command can be used to
easily extract the numeric value.
2018-06-06 08:46:46 +03:00
Markus Mäkelä
cfe676b1c8
Sleep longer in mysqlmon_* tests
Increased the amount of time that the tests sleep while they wait for
states to change. This should make them more tolerant of server load by
allowing more time for things to settle down.
2018-06-06 08:46:46 +03:00
Markus Mäkelä
994d3bc22d
Disable mxs1824_double_cursor
The test doesn't work due to the fact that the connector can't open two
cursors at the same time.
2018-06-06 08:46:45 +03:00
Markus Mäkelä
e6a9b83269
MXS-1899: Test that generated [maxscale] sections work
The test alters the configuration at runtime and restarts MaxScale.
2018-06-06 08:46:45 +03:00
Marko
1857252033 MXS-1749 Delete old process datadir on startup if it still exists
When starting MaxScale it deletes all of the old process datadirs that
might have not been cleaned up due to unexpected exit of the program.
2018-06-05 15:10:41 +03:00
Johan Wikman
dfd898e2cc Update 2.2 change log and add 2.2.9 release notes 2018-06-04 16:02:42 +03:00
Markus Mäkelä
9d0b1be08b
Improve unexpected response error message
The message now logs the current command and the query if it is available.
2018-06-04 15:17:48 +03:00
Markus Mäkelä
306beb05cd
MXS-1899: Allow generated [maxscale] sections
The generated configuration file contains a [maxscale] section which
should not be treated as an error.
2018-06-04 15:17:48 +03:00
Markus Mäkelä
d22f6d7b1c
MXS-1743: Fix load balancing with router_options=master,slave
The code that selects the candidate backend always returned the root
master if the server bitmask contained the master bit. This should only be
done if the master bit is the only bit in the bitmask and when there are
other bits, the normal candidate selection code should be used.

Also added a query to the expanded test case to make sure the connection
actually works.
2018-06-04 15:17:48 +03:00
Markus Mäkelä
da4397a501
MXS-1743: Expand test case to cover load balancing
The test case now verifies that the servers are actually load balanced
correctly. This test reveals a problem in the readconnroute; the master is
always preferred over slaves if one is available with
router_options=master,slave.
2018-06-04 15:17:48 +03:00
Markus Mäkelä
cddcc6d7d5
MXS-1896: Distinct LOAD DATA LOCAL INFILE from LOAD DATA INFILE
The two operations return different types of results and need to be
treated differently in order for them to be handled correctly in 2.2.

This fixes the unexpected internal state errors that happened in all 2.2
versions due to a wrong assumption made by readwritesplit. This fix is not
necessary for newer versions as the LOAD DATA LOCAL INFILE processing is
done with a simpler, and more robust, method.
2018-06-04 15:17:48 +03:00
Markus Mäkelä
c88aa11e11
Copy FDE events in avrorouter
Commit 67386980e327ad063b24cb55971cf44f4930e241 caused the actual events
to be ignored. This meant that the larger event size was assumed for all
events. In most cases this works but it is not the correct way to do it.
2018-06-04 15:17:48 +03:00
Johan Wikman
735191072d Merge branch '2.2.8' into 2.2 2018-06-04 13:32:19 +03:00
Johan Wikman
03f4067bcb Update release date of 2.2.8
It will not officially be released, but we must import the
documentation nonetheless as otherwise it's not possible to
refer to the 2.2.8 release notes and that's needed because the
bugs fixed in 2.2.8 are still fixed in 2.2.8 and not 2.2.9.
2018-06-04 13:30:46 +03:00
Johan Wikman
a0ffde9271 Update version number 2018-06-04 13:26:05 +03:00
Johan Wikman
0ded185bee Remove release date
MaxScale 2.2.8 will not officially be released.
2018-06-04 13:23:33 +03:00
Johan Wikman
f0588c00da Update change log and add release notes 2018-06-01 13:57:55 +03:00
Johan Wikman
089be56103 MXS-1889 Only turn on master bit for slaves
The bitmask ensures that the master bit would be ignored in
cases where it is not relevant, but nicer if it is set only
when it is relevant.
2018-06-01 13:43:02 +03:00
Johan Wikman
dc94ec9963 MXS-1889 Improve test program
Verify that once there are slaves, we are connected
to a slave as expected.
2018-06-01 12:45:19 +03:00
Johan Wikman
a319c5ad19 MXS-1889 Add test
If all slaves are down, a connection should be created to the
master.
2018-06-01 11:00:13 +03:00
Johan Wikman
d77a9a3040 MXS-1889 Handle master used as slave
Up until 2.1.12, if it in the configuration file said
'router_options=slave', the master was used if there were no
slaves at session creation time.

That broke in 2.1.13 as a side-effect of MXS-1516 that checks
at routing time whether the server initially selected as master
still is the master.

Now the required server status is stored separately for each
session, so that if the master was chosen, even though we have
'router_options=slave', we can turn on the SERVER_MASTER bit.

That allows us to handle the case correctly in connection_is_valid().
2018-06-01 11:00:13 +03:00
Niclas Antti
89296ed4e4 MXS-1740 Hintfilter leaks memory
Single spot where an existing hint ptr was overwritten. Removed gwbuf_add_hint()
because it was  adding hints at the opposite end compared to functions in hint.h.
Added hint_splice() to replace.
2018-05-31 14:04:22 +03:00
Johan Wikman
8917458505 MXS-1890 Make it easier to run tests using local MaxScale
Now, if a test is invoked with '-l', then MaxScale is assumed to
be running locally using a configuration file suitable for the
test that is invoked. Further, at the end of the test, the log
files of MaxScale are not downloaded (obviously).

As a side-effect, an environment variable no_maxscale_log_copy,
similar to the existing no_backend_log_copy, has been introduced
using which the downloading of maxscale log files unconditionally
can be prevented.
2018-05-30 21:05:10 +03:00
Johan Wikman
e7251ec747 Update 2.2 version number 2018-05-30 09:39:09 +03:00
Johan Wikman
9bd46f05f6 Update release date of MaxScale 2.2.7 2018-05-29 16:07:34 +03:00
Johan Wikman
cdc494f927 Add change log and release notes for 2.2.7 2018-05-28 10:45:36 +03:00