Commit Graph

14103 Commits

Author SHA1 Message Date
fd72332ea4 Improve master failure error message
The message will now always contain the server name.
2019-08-05 12:48:19 +03:00
658aae6b6c Merge branch '2.3' into 2.4 2019-08-02 15:50:39 +03:00
84a1578f4b Merge branch '2.3.11' into 2.3 2019-08-02 15:50:07 +03:00
f8150b776c Update 2.3.11 release date 2019-08-02 15:46:03 +03:00
01427e32ec Merge branch '2.3' into 2.4 2019-08-02 10:03:34 +03:00
83db2a4dc1 Update 2.3 maintenance release number 2019-08-02 09:54:27 +03:00
3635592228 Add 2.3.11 release notes and update 2.3 change log 2019-08-02 09:50:01 +03:00
110bc32b25 MXS-2621 Fix broken authorization SQL 2019-08-02 09:48:14 +03:00
15461c1f8e MXS-2621: Add test case
The test reproduces the problem with lower_case_table_names.
2019-08-02 09:47:42 +03:00
527f9d3136 Rewrite open_close_connections
The test now uses standard library threads and lambda functions to make
the code simpler. Also made the test more robust by ignoring any errors
that are caused by the exhaustion of available client side TCP ports.
2019-08-01 16:50:19 +03:00
b01ff8a09b Merge branch '2.3' into 2.4 2019-08-01 16:11:36 +03:00
56fe86115a Merge branch '2.3.10' into 2.3 2019-08-01 16:08:27 +03:00
e1a730ed86 Update release date for 2.3.10 2019-08-01 16:06:26 +03:00
b5b2acd30e Update 2.3 maintance release 2019-08-01 10:46:25 +03:00
b49efa641e Update 2.3 changelog and add 2.3.10 release notes 2019-08-01 10:46:25 +03:00
f06c2cbdaa Merge branch '2.3.10' into 2.3 2019-08-01 10:02:54 +03:00
8347a48b64 Update 2.3 maintance release 2019-08-01 08:32:30 +03:00
18169a17d9 Update 2.3 changelog and add 2.3.10 release notes 2019-08-01 08:24:57 +03:00
1514a77345 Improve main thread detection
Now properly checks if configuration and diagnostics functions are ran in either
main() or in the admin worker. This is useful for debugging and enforcing
thread safety.

Also, monitors are now started and stopped in the admin worker.
2019-07-31 12:36:05 +03:00
9d0c6b908a MXS-2603: Treat WSREP errors as ignorable errors
When a query returns a WSREP error, most of the time it is not something
the client application is expecting. To prevent this from affecting the
client, it can be treated the same way a transaction rollback is treated:
ignore the error and try again.
2019-07-30 13:53:23 +03:00
45aa40c10a Fix RWBackend state tracking with multi-result queries
If a query returned multiple resultsets and the connection was broken
between the resultsets, the backend would not know that parts of the
response were already sent. This is caused by the cyclic nature of the
state machine when multi-result responses are being processed.

To fix the problem, the result size is tracked to know how many bytes have
been sent to the client. This is a backport of the
MySQLProtocol::Result::size from 2.5(develop).
2019-07-30 13:53:23 +03:00
ed84f29fca MXS-2612 Free routing worker local data
When a RoutingWorker is destructed, all existing local data will
unconditionally be destroyed.

The case in point is the vector<SFilterDef>s that are held as routing
worker local data by the Service. Unless the local data is deleted, the
filter defs will not be deleted at shutdown.

This is somewhat brute-force (but good to have in place nonetheless) as
the deletion of the local data should be done by the Service and before
the routing worker thread has exited.
2019-07-30 13:01:12 +03:00
ee8042c40b MXS-2613 Access correct argument
The cache show-command accessed the wrong argument. That is why

    [maxadmin|maxctrl] call command cache show TheCache

did not work.
2019-07-30 13:00:37 +03:00
c592328ea2 MXS-2613 Access correct argument
The cache show-command accessed the wrong argument. That is why

    [maxadmin|maxctrl] call command cache show TheCache

did not work.
2019-07-30 12:29:01 +03:00
3940547cc2 Fix the name of the undefined rlag value
Older name was used due to merge from 2.3.
2019-07-29 22:27:16 +03:00
4503f02adb Merge branch '2.3' into 2.4 2019-07-29 15:52:22 +03:00
3ddcc49288 MXS-2592 Use the correct log level variable 2019-07-29 12:07:02 +03:00
dda02b45ee MXS-2520: Do master replacement if it's possible
This allows a new master to be chosen regardless of the target server
type.
2019-07-29 10:26:30 +03:00
a9b01ff4cc Merge branch '2.3' into 2.4 2019-07-28 21:43:58 +03:00
918a2964d5 MXS-2592 Add configuration for session specific in-memory log
When enabled each session will write log messages in the in-memory log.
If session ends in error this log is written to the actual log in disk.
2019-07-28 20:56:22 +03:00
b07ffdb2fa Fix hang on transaction replay
The expected response counter was not decremented if a transaction replay
was started. This caused the connections to hang which in turn caused the
failure of the mxs1507_trx_stress test case.
2019-07-26 09:34:08 +03:00
9a7153dcec Fix mysqlmon_multimaster
It failed to compile with a new-ish compiler as the output argument was
guaranteed to be null.
2019-07-26 09:10:47 +03:00
9171dbaad6 Replace trimEnd with trim
trimEnd was introduced in Node.js 10.0 which is not in the 6.0 version we
use.
2019-07-26 09:10:46 +03:00
f31f09fc66 Don't print errors with master_failure_mode=error_on_write
The errors are expeted and should not be logged.
2019-07-23 14:12:58 +03:00
12bd26398f MXS-2486: Add missing schemarouter capabilities
The capabilities that the schemarouter declared were missing the
RCAP_TYPE_PACKET_OUTPUT which caused partial packets to be returned to it.
2019-07-23 09:57:53 +03:00
fbeb5d9c84 Always ignore server-internal databases
The mysql, information_schema and performance_schema databases should
always be ignored if found on multiple servers.
2019-07-23 09:38:29 +03:00
d4b712ae84 MXS-2546 Add DNS-resolving to topology detection
When matching hostnames between MaxScale server configuration and the
SHOW SLAVE STATUS-output, use DNS-resolution if a simple string comparison
doesn't find an answer. Results of the resolution are saved to avoid
repeating the operation for the same address.
2019-07-22 11:10:23 +03:00
5df1f2561c MXS-2546 Save master server to slave connection object
Simplifies later checks and removes duplicate code. The "assume_unique_hostnames"-
setting is no longer required within the MariaDBServer-class.
2019-07-19 17:10:10 +03:00
2a1925744b MXS-2546 Separate slave connection settings to its own class
The settings are different from the other fields in that they should not change
on their own. Most manipulation functions only require the settings.

Also takes into use a class for host and port data.
2019-07-19 17:00:18 +03:00
0257e6e690 MXS-2546 Remove external master tracking
It was only used for logging.
2019-07-19 16:39:03 +03:00
835049d506 Merge branch '2.3' into 2.4 2019-07-19 12:25:26 +03:00
8e23a6cdb9 MXS-2607: Remove trailing spaces in MaxCtrl --tvs mode
As the TSV format uses tabs as delimiters, the trailing spaces would
acutally be interpreted as data.
2019-07-19 12:16:04 +03:00
146b940245 Dump statements on fatal signal
This should make it easier to figure out what is going on at the time of
the crash if statement collection is enabled.
2019-07-19 12:03:36 +03:00
e3b1eebb15 Update unit test configs
Removed some of the useless parameters, tuned some values and reordered it
to declare objects before they are referred to.
2019-07-19 12:03:36 +03:00
1ddcbc9ae1 Log error message on slave session command failure
If the slave's response differs from the master and the slave sent an
error packet, log the contents of the error. This should make it obvious
as to what caused the failure.
2019-07-18 17:58:22 +03:00
2e70e2bc93 Merge branch '2.3' into 2.4 2019-07-18 12:49:00 +03:00
84f4688ebb Fix readwritesplit response count assertion
The assertion in routeQuery that expects there to be at least one ongoing
query would be triggered if a query was received after a master had failed
but before the session would close. To make sure the internal logic stays
consistent, the error handler should only decrement the expected response
count if the session can continue.
2019-07-18 12:24:06 +03:00
52fd2f011f Use a fixed Connector-C version
The connectors should be built from a known release.
2019-07-17 16:26:48 +03:00
f8ee11cf55 MXS-2606: Sort servers before loading users
By sorting the servers in descending order based on their role we make
sure that the users are loaded from a master if one is available.
2019-07-17 14:42:32 +03:00
f139991a2c MXS-2559: Log source of loaded users
MySQLAuth now logs the server where the users were loaded from. As only
the initial loading of users causes a log message, it is still possible
for the source server to change without any indication of it.
2019-07-17 10:23:48 +03:00