10016 Commits

Author SHA1 Message Date
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
Markus Mäkelä
5f167abafd
Add missing priority usage information to galeramon
The monitor did not print the current value of this parameter and knowing
it is helpful.
2018-05-28 10:34:06 +03:00
Markus Mäkelä
cd303df35c
Revert "Trunate logs instead of removing"
This reverts commit 14dc215a787e64fb6457889b647c861f634d68a5.
2018-05-25 12:12:35 +03:00
Markus Mäkelä
a705130708
MXS-1882: Make [maxscale] sections in sub-configs an error
Defining the [maxscale] section in a configuration file that is not the
root configuration file is now treated as an error instead of silently
ignored.
2018-05-24 13:01:57 +03:00
Johan Wikman
3097137a2f MXS-1875 Ensure cleanup of DCB does not cause crash.
- If a client DCB should be moved to some other worker than
  the current one (cli and maxinfo), and that fails, the
  thread id must be reset to that of the calling thread as
  otherwise asserts will be triggered.
- If the creation of the first DCB fails, then the dcb list
  for that thread will be NULL and thus must be accessed
  with some caution.
2018-05-22 16:18:02 +03:00
Markus Mäkelä
14dc215a78
Trunate logs instead of removing
By truncating the files, tests can be run while the log is being
tailed. If they are removed, the files need to be reopened each time a
test is started.
2018-05-22 15:44:55 +03:00
Markus Mäkelä
1b46679126
MXS-1878: Maximize pipe buffer size
When the pipe buffer size is maximized, the message queue can hold more
messages. This will mitigate the problem of too many messages being placed
in the queue.
2018-05-22 15:44:55 +03:00
Markus Mäkelä
0e686dd0f3
MXS-1878: Immediately process hangups
When DCBs are being hung in dcb_hangup_foreach, the hangup event can be
processed directly. This prevents excessive use of the worker message
queue pipe thus reducing the possibility of it being full.
2018-05-22 15:44:55 +03:00
Markus Mäkelä
e7fd8ac6cb
Document stopping procedure for avrorouter
The safest way to stop the avrorouter is to stop replication and wait for
the conversion to halt. This was not previously documented and needs to be
mentioned in the router documentation.
2018-05-22 15:44:55 +03:00
Johan Wikman
bced61c6d8 MXS-1875 Log in correct branch
Also use different error message to make it plain where it is
logged.
2018-05-22 08:42:48 +03:00
Johan Wikman
f166b50b37 MXS-1875 Add fd and make note of DCB simultaneously
The fact that a client dcb was immediately added to the epoll-
instance of the relevant worker (possible, since that is thread-
safe), but was added to the book-keeping via the message mechanism
(necessary, since that is not thread-safe), meant that if the
connection was closed before the message was delivered, the handling
of the message then caused an access error.

Now the fd is also added to the epoll-instance via the messaging
mechanism, so the problem can no longer occur. The only fds this
affects are connections made to maxadmin or maxinfo as they are
always handled by the main thread due to deadlock issues.
2018-05-21 20:04:13 +03:00
Johan Wikman
096f5e4dc6 Update 2.2 version number 2018-05-21 10:16:58 +03:00
Johan Wikman
76f32a38ac Update release date 2018-05-21 10:05:58 +03:00
Markus Mäkelä
540df997fb
Remove unused templates file
The file has not been used since the templates.h header was added.
2018-05-21 09:50:44 +03:00
Markus Mäkelä
7af9a500ac
MXS-1853: Treat MySQL 8.0 as 5.7 in authenticators
Using the MySQL 5.7 syntax is required to get the authenticators to work
with 8.0.
2018-05-21 09:50:44 +03:00
Markus Mäkelä
bdde3c44d9
Document slave_selection_criteria and weightby interaction
Documented how the slave_selection_criteria and server weights work.
2018-05-21 09:50:43 +03:00
Johan Wikman
b72a7a8926 Update 2.2.6 release notes 2018-05-18 15:36:16 +03:00
Esa Korhonen
fb56de641a MXS-1859 Add options for enforcing read_only on slaves
If the feature is enabled (default off), at the end of a monitor loop
(once server states are known), read_only is enabled on slaves servers
without it.
2018-05-18 15:29:56 +03:00
Timofey Turenko
7c0ea3220c set memory size for build VM to 4096 2018-05-18 12:51:33 +03:00
Timofey Turenko
9d10642cd7 Merge branch '2.2' of github.com:mariadb-corporation/MaxScale into 2.2 2018-05-18 12:42:24 +03:00
Johan Wikman
001ae8e29a MXS-1874 Handle SET STATEMENT ... FOR ...
The SET STATEMENT ... FOR part can be ignored and the type
of the statement be whatever the type of the part following
FOR is.
2018-05-18 12:35:44 +03:00
Johan Wikman
b12f037b24 MXS-1874 Fix leak in qc_mysqlembedded 2018-05-18 12:35:44 +03:00
Johan Wikman
f665125f1c MXS-1874 Add test that reveals problem 2018-05-18 12:35:44 +03:00
Timofey Turenko
e911c897f6 fix cnf name in add_server_setting() 2018-05-18 12:32:23 +03:00
Markus Mäkelä
3cb389a3b5
MXS-1866: Add support for COM_STMT_BULK_EXECUTE
Readwritesplit now detects the COM_STMT_BULK_EXECUTE command and handles
it correctly.
2018-05-18 12:30:24 +03:00
Markus Mäkelä
4b8206ee1d
MXS-1873: Test large session commands
The test generates a large session command and makes sure queries after it
work correctly.
2018-05-18 12:29:47 +03:00
Markus Mäkelä
8067f312a1
MXS-1873: Collect results for all session commands
To work around the limitation in the session command handling and
multi-part results, all session commands are now treated as gathered
results. This allows session commands which return result sets to be used
with MaxScale.

This change should not cause problems with practical workloads as they
usually do not return massive resultsets for session commands.

The optimal way to handle the multi-part responses would be to integrate
it into the result completion tracking process. This would allow the
prepared statement IDs to be extracted while the command is being
processed.
2018-05-18 12:29:34 +03:00
Markus Mäkelä
2a7f470b6b
Make test failure messages unique in mxs1824_double_cursor
Having the same error for two different failures makes it harder to figure
out which one of them fails.
2018-05-17 10:57:05 +03:00
Markus Mäkelä
135cd2e16a
Update readwritesplit limitations
The use of multiple cursors was fixed in 2.2.5 and the multi-statement
LOAD DATA LOCAL INFILE is fixed in 2.3.0.
2018-05-17 10:46:57 +03:00
Markus Mäkelä
bf933ecc22
Open all ports by default
The test now flushes the INPUT chain of iptables at the start of the
test. This should open all ports even if the OS by default defines some
rules that block ports.
2018-05-17 10:04:00 +03:00
Markus Mäkelä
4309d9b3a5
Change mxs1836_show_eventTimes port from 9003 to 4006
Port 9003 is not open by default in the test environment. Changing it to
port 4006, which is open, will work around this restriction.

Also added the mysql_error output to the error message when the querying
fails.
2018-05-17 09:50:37 +03:00
Markus Mäkelä
22d6687f9f
Fix paths in mxs1110_16mb
The paths that the test used assumed that the binary was built
in-source. This is a relic of the test refactoring and seems to have gone
unnoticed.
2018-05-17 09:39:19 +03:00
Markus Mäkelä
52e8c08a61
Disable warnings when dropping databases
Dropping a database with DROP DATABASE ... IF NOT EXISTS will cause
warnings to be logged if it doesn't exist. The masking_user test was
missing the part that disables these warnings.
2018-05-17 09:34:01 +03:00
Markus Mäkelä
bcc3312d8e
Merge branch '2.1' into 2.2 2018-05-16 11:45:48 +03:00
Markus Mäkelä
ca0f37a4c0
Document maxpasswd encryption algorithm
Documented the maxpasswd encryption algorithm in the configuration guide.
2018-05-16 11:13:36 +03:00
Markus Mäkelä
84ac115af8
MXS-1760: Add use_sql_variables_in test case
The test checks that both text protocol and binary protocol statements
produce the correct result.
2018-05-16 11:13:36 +03:00