07cbda7771
Merge branch '2.3' into develop
2019-01-11 13:06:16 +02:00
87913f8cb8
MXS-2220 Miscellaneous cleanup
...
Removes some duplicate includes.
2019-01-11 11:00:24 +02:00
8ac786110e
MXS-2255: Fix COMMIT matching
...
The code used a rather questionable method for parsing SQL statements
instead of using the query classifier for detecting transaction start and
stop events.
2019-01-11 10:27:00 +02:00
9823fe2651
MXS-2247 Add support for random number generation to maxutils
...
Classes for xorshift and std random. Add a random number generator to Worker.
2019-01-10 16:51:32 +02:00
7cac2c009d
Merge branch '2.3' into develop
2019-01-10 12:43:46 +02:00
9cac927542
MXS-2220 Move server response calculation functions inside class
2019-01-10 10:26:53 +02:00
df17619722
MXS-2220 Move server_update_address inside class
...
Should be moved to internal class once blr is cleaned up.
2019-01-10 10:26:53 +02:00
46eddc8102
Rename ReadConn to RCR
...
RCR is more compact and looks neat.
2019-01-10 07:16:42 +02:00
5613f31bc7
Clean up readconnroute
...
Moved method documentation into the headers and removed the local
variables storing pointers to this.
2019-01-10 07:16:42 +02:00
d6df5a7d6a
Use router template in readconnroute
2019-01-10 07:15:45 +02:00
54589424f9
Use more C++ code in readconnroute
...
Allocations are now done with new and casts are done using
static_cast. Removed revision history and cleaned up some assertions.
2019-01-10 07:12:31 +02:00
b30b743455
Rename readconnroute structures
...
Renamed them with the C++ coding style in mind.
2019-01-10 07:12:30 +02:00
5da833187c
Rename readconnroute header
...
The name now reflects the module and source code name.
2019-01-10 07:12:30 +02:00
147f0bb656
Extend master failure error message
...
The error now describes the failure mode in more detail. This should make
post mortem analysis of failed connections a lot easier.
2019-01-09 20:05:38 +02:00
29b6e53eb8
MXS-2218 Replace mq housekeeper task with delayed call
2019-01-08 16:01:36 +02:00
6ba2cb61df
MXS-2218 Implement housekeeper in terms of MainWorker
2019-01-08 16:01:36 +02:00
1c647f3753
MXS-2220 Move most remaining functions inside class
...
Most of the ones still remaining outside are special cases.
Also, removed locking from status manipulation functions as it
has not been required for quite some time.
2019-01-08 15:15:34 +02:00
d5c78eb31f
MXS-2220 Move more server functions inside class
2019-01-08 15:12:47 +02:00
8b53e30678
MXS-2220 Move server status functions inside class
2019-01-08 15:12:47 +02:00
49c1afcb1b
Merge branch '2.3' into develop
2019-01-08 13:17:27 +02:00
63358fb4c1
Add correct operator to comparison
...
The clause had a bitwise AND. The end result is likely the same.
2019-01-08 10:18:15 +02:00
b16ee3a94e
MXS-2220 Move server_is_active inside the class
2019-01-07 16:10:15 +02:00
f8545a0b7f
MXS-2219 Address review comments
2019-01-07 12:59:57 +02:00
4512295e40
MXS-2219 Implement rudimentary Clustrix monitoring
...
The monitor now pings the health check ports of the Clustrix nodes.
A response translates to RUNNING and a non-response to DOWN.
2019-01-07 12:59:27 +02:00
9dce8c0c56
MXS-2163 Modify Clustrix auth query slightly
...
- Format specifyer was missing
- Now root shows up properly
2019-01-07 12:57:13 +02:00
5f83b07fc2
MXS-2241: Detect invalid readwritesplit configuration
...
master_reconnection and disable_sescmd_history are, in practice, mutually
exclusive settings.
2019-01-07 11:06:24 +02:00
f0f9c21d1c
Merge branch '2.3' into develop
2019-01-07 10:54:42 +02:00
46bea87ff6
MXS-2238: Fix reading of large Avro schemas
...
The schemas were read incorrectly which resulted in large schemas having
multiple newlines in them.
2019-01-06 13:05:42 +02:00
8c437c6440
Fix crash in galeramon
...
An std::string was assigned a null value which will cause a crash.
2019-01-04 12:00:48 +02:00
cf9ac9004e
Fix compilation error
...
A variable had the same name as a type, which confused some compilers.
2019-01-04 10:40:11 +02:00
ca9c52944b
MXS-2220 Use std::string for protocol and authenticator fields
2019-01-03 12:13:15 +02:00
40485d746c
MXS-2220 Change server name to constant string
2019-01-03 12:13:15 +02:00
5fc2c1f49c
MXS-2220 Store server ports as integers and modify them in methods
2019-01-03 12:13:15 +02:00
09aa54720d
MXS-2220 Read server version using public methods
...
Version related fields have been removed from the public class.
2019-01-03 11:23:14 +02:00
9adbd2f8f0
Cache the local server statistics object
...
By storing the server statistics object in side the session, the lookup
involved in getting a worker-local value is avoided. Since the lookup is
done multiple times for a single query, it is beneficial to store it in
the session.
As the worker-local value is never deleted, it is safe to store a
reference to it in the session. It is also never updated concurrently so
no atomic operations are necessary.
2019-01-03 09:37:59 +02:00
1fa3b133c7
Make keepalive ping checks more efficient
...
The code now only checks the need for a keepalive ping once every
keepalive interval. Reduced the number of mxs_clock calls to one so that
all servers use the same value.
2019-01-03 09:37:59 +02:00
26da72a41f
Merge branch '2.2' into 2.3
2019-01-03 09:23:16 +02:00
8f0e4a3034
MXS-2232: Fix version string prefix check
...
The prefix was always added even when the original version would've been
acceptable. For example, a version string of 5.5.40 would get converted to
5.5.5-5.5.40 which is quite confusing for older client applications.
2019-01-02 19:29:48 +02:00
04dd05b262
MXS-2231: Move TLS handshake code into MariaDBClient
...
The code is now in the correct place and TLS connections with all
authenticators should now work.
2019-01-02 19:29:41 +02:00
edd03e950f
MXS-2209: Use compound roles only with 10.2.15+
...
Due to MDEV-15556 and MDEV-15840 recursive CTEs can't be reliably used
with older 10.2 versions. To prevent problems, only use the query that
extracts composite roles with newer versions.
2019-01-02 19:27:14 +02:00
54ae7119cf
Fix binlogrouter master reconnection
...
The reconnection attempt to the master won't work if users aren't loaded
before it.
2018-12-31 10:39:57 +02:00
630165e52b
Fix closing of pooled DCBs
...
DCBs can now have a null session pointer and if they do, they are in the
persistent pool. The no-null-session assertions are no longer valid but
with a reorganization of the pooling code to only use file descriptors,
the assertions can be added back.
2018-12-29 19:16:34 +02:00
4ab25bcd1c
Fix schemarouter duplicate database detection
...
The detection wouldn't work if the database had no tables.
2018-12-28 11:33:43 +02:00
3b150ad4b2
Fix binlogrouter use of DCBs
...
The dcb_connect function requires that the client DCB has a remote
address.
2018-12-28 10:13:24 +02:00
4d0a40ef9f
Add missing pointer initialization
...
The change from SRWBackend to RWBackend* had some side effects, namely the
missing automatic initialization into zero values.
2018-12-28 08:19:23 +02:00
eacf88f6a5
MXS-2220 Add server version and type information struct
...
The old fields are still used.
2018-12-19 13:18:16 +02:00
115feab946
MXS-2164 Add skeleton Clustrix monitor
2018-12-18 15:17:09 +02:00
569c66fa28
MXS-2220 Store server parameters in stl containers
...
The custom parameters are now protected from concurrent access.
2018-12-18 12:34:06 +02:00
31ceee6d22
MXS-2220 Move persistent DCB settings and handling to the private Server-class
2018-12-18 12:14:44 +02:00
5a9e84d39a
Merge branch '2.3' into develop
2018-12-18 00:00:00 +02:00