32c2724454
Merge branch '2.3' into develop
2019-05-14 13:36:54 +03:00
01c4beec10
MXS-2470 Update tail pointer in gwbuf_clone
2019-05-14 13:36:33 +03:00
600e23ae2d
MXS-2470 Add unit test that reveals problem
2019-05-14 13:36:33 +03:00
c09617cd82
Merge branch '2.3' into develop
2019-05-14 12:33:50 +03:00
22a9e20f1f
MXS-1957 Change the default authenticators to MariaDB aliases
...
Using MySQLAuth or MySQLBackendAuth causes warning to be logged.
2019-05-13 15:35:09 +03:00
50fef6f361
MXS-1957 Add MariaDBAuth alias
2019-05-13 15:35:09 +03:00
9810c5fa69
MXS-1957 Add MariaDBBackendAuth alias
2019-05-13 15:35:09 +03:00
476dc80bc9
Move settings shared between MariaDBMonitor and MariaDBServer to container
...
Removes the need to communicate these settings via call parameters.
2019-05-10 14:48:41 +03:00
d10c7a4140
Rearrange MariaDB-Monitor settings variables
...
Moves some of the settings to a dedicated container to separate them
from other fields.
2019-05-10 14:48:41 +03:00
a9b1e3a442
Move some Monitor fields to private and protected
...
None of the fields should be publicly writable and some should not even
be writable from derived classes.
2019-05-10 14:48:41 +03:00
5077ad62df
Move monitor runtime modification functions to MonitorManager
...
Requires moving some general configuration checking functions to
config.cc.
2019-05-10 14:48:41 +03:00
a3bb61486d
Move server_set_status and server_clear_status to monitor
...
The operation goes through monitor code so should be in the according file.
2019-05-10 14:37:35 +03:00
b0d8535ead
Allow master changes at transaction start
...
When a BEGIN statement is being executed without a master connection but
when one can be created, the BEGIN statement would be treated as if a
transaction was already open. Since the statement only starts the
transaction, it is allowed to be routed to a "new" master regardless of
the transaction statem.
This fixes the failure to start a transaction when lazy_connect is
enabled.
2019-05-10 13:20:33 +03:00
45f508a376
Fix listener creation
...
The correct parameters weren't set in Listener::create and there was no
check for two listeners listening on the same socket.
2019-05-10 13:20:32 +03:00
b10fc196a1
Fix maxinfo/maxadmin debug assertion
...
Both services could write to a DCB from a worker that doesn't own it.
2019-05-10 11:23:10 +03:00
603eac9cf8
Fix build failures
...
Narrowing type conversions in schemarouter and avrorouter.
2019-05-10 10:37:52 +03:00
fbd61967a7
Format filters
2019-05-10 10:31:12 +03:00
418ccf861d
Format routers and monitors
2019-05-10 10:31:12 +03:00
6625c1296b
Format authenticator and protocol modules
2019-05-10 10:31:12 +03:00
0d13e694e4
Merge branch '2.3' into develop
2019-05-10 09:28:39 +03:00
b4e8f79c5f
Format core sources again
...
Formatted with nl_func_type_name and related options set to ignore. This
keeps the formatting intact for long return types in declarations and
definitions.
2019-05-10 09:21:52 +03:00
50b5fe76ef
Pass parameters as const ref to server_alloc
2019-05-10 09:21:52 +03:00
d203e7af83
Move SSL related code into ssl.cc
...
The code was in the listener sources but was shared by both listeners and
servers.
2019-05-10 09:21:52 +03:00
31ce757f8d
Don't attempt TLS with maxscaled protocol
...
The authenticator doesn't support it so it is pointess to try it.
2019-05-10 09:21:52 +03:00
3813c728b1
Move listener parameter handling into Listener::create
...
The Listener::create method now takes a set of configuration parameters
from which it constructs a listener. This removes the duplicated code and
makes the behavior of listener creation similar to other objects in
MaxScale. It also allows the configuration parameters to be stored in the
listener object itself.
2019-05-10 09:21:52 +03:00
1efe3e0b20
Fix avrorouter client notifications
...
The notifications that tell clients about new data weren't using the
correct mechanism.
2019-05-10 09:11:39 +03:00
37bfe1cd67
Never exceed persistent connection limits
...
By doing the persistent connection count incrementation with CAS, value
can be guaranteed to never exceed the configured limit.
2019-05-10 09:11:39 +03:00
23a09a6294
MXS-2455 Use mxb::Buffer::iterator
...
Simplifies the code and as extra allocations etc. are only
made when info is enabled, and can thus be ignored.
2019-05-09 15:04:03 +03:00
381940ce8c
Merge branch '2.3' into develop
2019-05-09 14:35:44 +03:00
c72dbb6f46
MXS-2448: Fix connection counts of persistent DCBs
...
DCBs that were closed while they were persisted were double decremented.
2019-05-09 13:53:32 +03:00
d2e49c9591
MXS-2448: Assert that connection counts never go negative
...
The connections should never go below zero. It seems that at least pers_01
test suffers from this.
2019-05-09 13:06:27 +03:00
567ad9b8b8
Fix galeramon regression
...
The comparisons were wrong: strcasecmp returns 0 for equal strings.
2019-05-09 12:30:29 +03:00
59f2145c00
Allocate blr heartbeat buffer on correct worker
...
The buffer was allocated on one worker and written on another.
2019-05-09 12:30:29 +03:00
788dc429f8
Do client callback on owning worker
...
The callback should've been done on the worker that owns the DCB instead
of the main worker.
2019-05-09 12:30:26 +03:00
b313c6d0e7
MXS-2474 Ignore attempts to re-register a housekeeper task
...
It is an error to register the same task multiple times, but
for a maintenance release it is simpler and less risky to simply
ignore an attempt (that BLR does) to do that.
Allowing a task to be registered anew causes behaviour akin
to a leak.
2019-05-09 10:58:35 +03:00
e3b5ba9620
MXS-1973 Support reverse DNS for client hostnames in MaxCtrl
...
May slow maxscale down when used. Only supported for "list sessions",
"show sessions" and "show session <id>".
2019-05-08 15:04:44 +03:00
0e0342e657
Merge branch '2.3' into develop
2019-05-08 10:38:39 +03:00
a652b6bd5b
Add advance(int) to mxs::Buffer iterators
...
This makes iterating over packets in buffers faster while still
maintaining the requirements for forward iterators. Not using operator+=
makes it clear that this is not a random access iterator.
2019-05-08 10:33:27 +03:00
bad96e411a
Merge branch '2.3' into develop
2019-05-08 10:30:58 +03:00
c818b1208a
MXS-2455 Recognize transaction rollbacks
...
All transaction rollback errors have an sql_state like "40XXX".
So, when an error reply is received we check for that and act
accordingly.
2019-05-08 10:00:50 +03:00
0638ea736e
Write slave heartbeat in correct thread
...
The writing should be done on the worker that owns the DCB.
2019-05-08 09:44:55 +03:00
446788f2ed
MXS-1799 Add timestamps to retain_last_statements messages
2019-05-07 22:54:31 +03:00
3d66e68e95
MXS-2170 Start MaxScale normally if it gets the same PID as previous
...
MaxScale
Check is made to see if the found MaxScale PID is owned by the process
itself.
2019-05-07 22:23:46 +03:00
4e6ffc0381
Clean up server config parameter handling
...
Removes helper classes which are no longer required.
2019-05-07 15:39:34 +03:00
d3a1f5c51f
MXS-2463 Prefer range loops
...
Also consistently use 'kv' as in key-value as the element name
when the collection looped over is a map.
2019-05-07 10:36:21 +03:00
4cf29bea36
MXS-2463 Rename m_nodes to m_nodes_by_id
...
Makes it obvious it is a map.
2019-05-07 10:36:21 +03:00
3c9ad0e452
MXS-2463 Ignore persisted data if bootstraps have changed
...
If there have been any changes in the bootstrap servers specified
for the Clustrix monitor, then the persistent connection information
is not used.
Otherwise, if the bootstrap server is changed and inaccessible, we
may connect to another cluster than the intended one.
2019-05-07 10:36:21 +03:00
ff33453e1a
MXS-2463 Prepare for another set of queries
...
Persisted information about dynamic nodes must be used only if
the bootrap information has not been changed, as otherwise we risk
using information that is not valid.
2019-05-07 10:36:21 +03:00
95fd61b8dc
Fix listener search functions
...
The functions that searched for listeners compared both sockets and
addresses in the same function. This made its use error prone and caused
false positives in some cases.
2019-05-06 19:55:31 +03:00
6b8ca35408
Format core source files
...
Formatted core .cc files according to current uncrustify configuration.
2019-05-06 16:05:50 +03:00