Commit Graph

9990 Commits

Author SHA1 Message Date
9144ed3448 Update 2.1.14 Release Date 2018-03-06 09:45:41 +02:00
a0c890cdf6 Add maxadmin output to mxs1678_relay_master
This should make test failure analysis easier.
2018-03-05 14:02:41 +02:00
cab827b0a4 Fix replication after failover_mysqlmon
When the test finishes and is about to check whether MaxScale is alive,
the servers should be cleared from maintenance mode and the replication
should be fixed. This way the test will clean up after itself.
2018-03-05 14:02:41 +02:00
65216f5e16 Reset slave when changing master
When the test changes the master, it should reset the slave configuration
on the new master. This way no circular replication topologies are formed
and the monitor can be expected to perform correctly.
2018-03-05 14:02:41 +02:00
019312c4ee Cherry-pick: Don't write errors to dummy sessions
If a DCB is closed before a response to the handshake packet is received,
the DCB's session will point to the dummy session. In this case no error
should be written to the DCB.

This is a cherry-pick of commit f53e112bf49766f1cc55516c2d7ee571461d483f
from the 2.2 branch.
2018-03-05 13:58:09 +02:00
93f3529bb4 MXS-1697: Treat missing libraries as an error
If the avrorouter is being build and the required libraries are not found,
the configuration process should fail. Adding the command to bypass this
into the error message should make it easier to disable this part if it is
not needed.
2018-03-05 13:58:09 +02:00
f066ba8753 MXS-1693: Accept 'mysql_native_password' as plugin name
When the authenticator loads users, it should also accept users who have
explicitly defined 'mysql_native_password' as their authentication plugin.
2018-03-05 13:58:09 +02:00
e5934dfb11 Expand SHOW DATABASES warning message
The message now states the impliciations of missing permissions. If the
MaxScale user does not have the permissions to view all databases, it will
only see its own databases.
2018-03-05 13:58:09 +02:00
deae7ea922 add system update before build to build script 2018-03-05 13:17:17 +02:00
c78eb298d8 Update ChangeLog and ReleaseNotes of 2.1.14 2018-03-05 12:58:44 +02:00
544e0eb60b Merge branch '2.1' into 2.2 2018-03-01 17:57:40 +02:00
b46c52d65c MXS-1684 Match space+linefeed as linefeed
A linefeed is whitespace, so given the rules

  "\n"+    return '\n'
  {SPACE}  ;

a line consisting of space followed by a linefeed, will be matched
as space and not as a linefeed and hence will cause the parser to
barf.
2018-03-01 17:57:07 +02:00
39d3c42c94 Merge branch '2.1' into 2.2 2018-03-01 17:52:42 +02:00
0c206ff428 MXS-1688 Handle ...INTERVAL N <unit>
"INTERVAL N <unit>" is now handled as an expression in itself and
as asuch will cause both statements such as

  "SELECT '2008-12-31 23:59:59' + INTERVAL 1 SECOND;"

and

  "select id from db2.t1 where DATE_ADD("2017-06-15", INTERVAL 10 DAY) < "2017-06-15";"

to be handled correctly. The compare test program contains some
heuristic checking, as the the embedded parser will in all cases
report date manipulation as the use of the add_date_interval()
function.
2018-03-01 17:39:03 +02:00
b7cc793c40 MXS-1688 Add test that reveals DATE_ADD problem 2018-03-01 17:39:03 +02:00
13c222488e RWS: Log packet length when logging transaction status 2018-02-25 20:56:02 +02:00
aab039f783 MXS-1677: Add test case
Added test case that reproduces the problem and verified that it is fixed.
2018-02-24 17:13:00 +02:00
9b36ba5e0a MXS-1677: Don't assume all queries are in text form
After a temporary table is created, readwritesplit will check whether a
query drops or targets that temporary table. The check for query type was
missing from the table dropping part of the code. The temporary table read
part was checking that the query is a text form query.

Added a debug assertion to the query parsing function in qc_sqlite to
catch this type of interface misuse.
2018-02-24 17:02:51 +02:00
351f574e01 Update version number 2018-02-24 15:54:27 +02:00
b67ab83486 Revert "Use dedicated header in NDBClusterMon"
This reverts commit b9d80f6061d6b536d7a15febf0367e5f6dba0e84.
2018-02-24 15:43:15 +02:00
0bbf0246f9 Revert "Compile mariadbmon.h as C++"
This reverts commit 60d57aee61d96832aeec1b8a61d36803c38ca77c.
2018-02-24 15:40:21 +02:00
236e906d88 Revert "Turn MariaDB Monitor struct to class with public fields"
This reverts commit cb6f70119d9857b277306e9af5881fe29c574a32.
2018-02-24 15:37:50 +02:00
13661ab4a6 Revert "MariaDB Monitor: Move additional classes to separate file"
This reverts commit ff55106610881d55db88eca9e2ef6a056cbc8d51.
2018-02-24 15:35:36 +02:00
e721733434 Revert "MariaDBMon: Move replication manipulation functions to a separate file"
This reverts commit 8cdd23dda2add6486abb685834def94c72a09b6c.
2018-02-24 15:35:02 +02:00
8cdd23dda2 MariaDBMon: Move replication manipulation functions to a separate file
Refactoring continues. This update moves some of the replication manipulation
functions to a separate file and turns them into class methods.
2018-02-22 10:51:52 +02:00
03eb30fbc6 Check SHOW DATABASES privilege on startup
MySQLAuth requires the SHOW DATABASES privilege to see all the databases
so it should be checked that the current user has the permission. A
missing permission will cause errors that are hard to resolve.
2018-02-22 10:06:29 +02:00
ff55106610 MariaDB Monitor: Move additional classes to separate file
Also use stl containers in monitor definition.
2018-02-21 12:24:24 +02:00
cb6f70119d Turn MariaDB Monitor struct to class with public fields
Allows using std::string for strings. Also, cleanup.
2018-02-21 11:00:42 +02:00
8e31b30d19 MXS-1678: Add test case
Added test case that checks that relay master status is not lost when IO
thread is stopped.
2018-02-21 10:43:12 +02:00
1ecd791887 MXS-1678: Store master_id even when IO thread is stopped
When the IO thread of a relay master is stopped, the knowledge that it is
not a real master but a relay master is lost. To prevent this loss of
information, the master server's server_id value should always be stored
if it is available.
2018-02-21 09:35:42 +02:00
33cb080e16 Add 2.2.3 release notes
Added release notes for MaxScale 2.2.3.
2018-02-20 21:37:15 +02:00
f3e00431de Fix MXS-1418 regression
If a server is removed from a service, readconnroute will not verify that
the server it is connected to is still the same root master. This fixes
the regression of MXS-1418.
2018-02-20 15:35:52 +02:00
60d57aee61 Compile mariadbmon.h as C++ 2018-02-20 11:14:21 +02:00
b9d80f6061 Use dedicated header in NDBClusterMon
NDBClusterMonitor used the MariaDBMonitor header instead of its own.
2018-02-20 11:09:04 +02:00
db9169be08 Add note about CDC connector installation
The documentation for the CDC Connector now mentions how it can be
installed as a package.
2018-02-20 09:59:06 +02:00
e56aedb85f Reset failures if auto_failover is disabled
When auto_failover has been disabled due to failure to perform automatic
failover, the test should reset the number of failures. Resetting it
before the check for the log message allows the test to still fail if the
message is missing.
2018-02-20 09:59:05 +02:00
a608b95414 MXS-1656: Add simple test case
Test that `list servers` works with both monitored and unmonitored
servers. The test doesn't check that the GTID is present as the test setup
uses file and position based replication.
2018-02-20 09:59:05 +02:00
d133ebf32d Remove ANSI color codes when --tsv is defined
When TSV output is requested, the output should not contain the ANSI color
codes. This appears to be a "feature" of the table generation library but
it is quite simple to work around.
2018-02-20 09:59:05 +02:00
5806a27f9a MXS-1656: Request each monitor only once
When the servers were iterated, each related monitor was requested. This
caused as many requests for monitors as there are servers.

By creating a set of unique monitor names and requesting them once, we
avoid the redundant requests from the monitor.
2018-02-20 09:59:05 +02:00
f4af4fa038 MXS-1656: Rename misleading functions
The function getResource had two different implementations that did very
different things. The newer version, that returns the raw JSON object that
represents a resource, was renamed to getJson.
2018-02-20 09:59:05 +02:00
ee3612da42 MXS-1656: Add GTID field to list servers
Added the `GTID` field to make it easier to track GTID values of the
servers. This is done by requesting the related monitors for each server
and injecting an extra parameter into the server resource.
2018-02-20 09:59:05 +02:00
558ea4babe MXS-1656: Split resource collection functions into smaller parts
Split the getCollection function into smaller, reusable parts. This is
needed to display the GTID information in `list servers`.
2018-02-20 09:59:03 +02:00
145ab64a4a Add release date 2018-02-19 12:57:05 +02:00
bce5627ee3 Fix out-of-bounds read on invalid query message
When the parsing of a query failed, the message would treat the parameter
as a string as the printf format was `%*s` instead of `%.*s`.

The manpage of printf states the following about the precision specifier:

    ... or the maximum number of characters to be printed from a string
        for `s` and `S` conversions.

This means that the field length specifier is somewhat meaningless for
strings.
2018-02-16 20:49:27 +02:00
71c6f4db4e Rename the keepalived HA tutorial
Renamed the tutorial to MaxScale Failover with Keepalived and MaxCtrl.
2018-02-16 09:02:06 +02:00
6302bcf834 Explicitly list the features disabled in passive mode
The current list contains the failover, rejoin and monitor scripts.
2018-02-16 09:02:03 +02:00
d1465e03c3 Update release notes of 2.2.2 2018-02-15 15:04:41 +02:00
13dea56c2d Add instructions on setting MaxScale passive/active to Keepalived tutorial 2018-02-15 14:54:55 +02:00
3c153291f2 Merge branch '2.1' into 2.2 2018-02-15 14:23:48 +02:00
b1300fdb01 Sync slaves after creating new users
After the users in the local_address test are created, the slaves need to
be synced to make sure that users have replicated to all servers.
2018-02-15 14:20:08 +02:00