7f978f275f
MXS-2223 Log a message when a slave is discriminated due to replication lag
...
Both the replication lag and the message printing state are saved in SERVER,
although the values are mostly used by readwritesplit. A log message is printed
both when a server goes over the limit and when it comes back below.
Because of concurrency issues, a message may be printed multiple times before
different threads detect the new message state.
Documentation updated to explain the change.
2019-01-21 13:02:18 +02:00
b0663f0b29
Convert maxscale/ssl.h to .hh
2019-01-15 17:12:32 +02:00
6d296f6661
MXS-2220 Move authenticator instance data to internal class
2019-01-11 11:31:27 +02:00
42215c65fa
MXS-2220 Cleanup global server list handling
...
The list is now an array and only accessed by the owning object to ensure locking.
2019-01-11 11:31:27 +02:00
87913f8cb8
MXS-2220 Miscellaneous cleanup
...
Removes some duplicate includes.
2019-01-11 11:00:24 +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
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
93aff0640c
MXS-2220 Cleanup server header
...
Moved items around in preparation for more changes.
2019-01-07 16:10:15 +02:00
b16ee3a94e
MXS-2220 Move server_is_active inside the class
2019-01-07 16:10:15 +02:00
764d9a4e75
MXS-2220 Move monitor user and password fields to internal class
...
Also changed the lengths of the buffers.
2019-01-07 16:10:15 +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
d1b098d3b0
MXS-2200 Store server version string and type in internal class
2019-01-02 12:53:52 +02:00
6206abde3e
Update Server version in server_set_version
...
The new method was not called by the old function.
2018-12-27 14:44:13 +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
c8fc956b7b
MXS-2220 Combine anonymous namespaces
...
Also clean up file local variables.
2018-12-18 12:34:51 +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
6209d737e9
MXS-2220 server_alloc returns internal type
...
Also adds default initializers to SERVER fields.
2018-12-14 10:31:57 +02:00
3f81a37e70
MXS-2220 Move rest of dcb printing functions to private class
2018-12-14 10:18:14 +02:00
2b0eac2cd0
Move server disk space threshold setting to private Server-class
...
The setting can be read and written simultaneously and is protected with
a mutex.
The public SERVER-class is now abstract.
2018-12-14 10:18:14 +02:00
63e334d6c0
MXS-2220 mxs::server_status() accepts status flags
...
The overload is required to get rid of dummy SERVER objects.
2018-12-13 10:20:06 +02:00
84e8efceca
MXS-2220 Use private server class in runtime alter commands
...
This only affects commands started from MaxAdmin.
2018-12-12 16:06:08 +02:00
86574c16fb
Return std::string in server_status()
2018-12-10 15:55:07 +02:00
c0c9a9858d
MXS-2197 Rename maxscale/log.h to maxscale/log.hh
...
In files either include maxscale/log.hh or remove include entirelly
as maxscale/ccdefs.hh includes it.
2018-12-10 12:58:17 +02:00
1b5b789342
MXS-2208 Move trim-functions from maxscale to maxbase
...
log.h now includes string.hh, which is conceptually wrong, but
log.h will shortly disappear and be superceded by log.hh.
2018-12-10 12:50:07 +02:00
7ca421fe5f
MXS-2196: Fix persistent connections
...
The connections now use the correct parameter.
2018-12-05 15:30:44 +02:00
d96a7dedc5
MXS-2205 Convert maxscale/poll.h to .hh
2018-12-04 14:51:02 +02:00
43c33e9f4a
MXS-2196: Allocate a session before allocating DCBs
...
Allocating the session before a DCB guarantees that at no point will a DCB
have a null session. This further clarifies the concept of the session and
also allows the listener reference to be moved there.
Ideally, the session itself would allocate and assign the client DCB but
since the Listener is the only one who does it, it's acceptable for now.
2018-12-04 11:50:43 +02:00
7a87ff9ce1
MXS-2196: Remove redundant DCB member variables
...
The variables held duplicate information already present in other parts of
the system.
2018-12-04 11:50:43 +02:00
ad12ff6d06
MXS-2196: Rename dcb.h to dcb.hh
2018-12-04 11:50:43 +02:00
3b5e45ceee
MXS-2196: Combine session.h and session.hh
...
Combined the public session headers into one.
2018-12-04 11:43:38 +02:00
36792607d8
MXS-2205 Combine internal/modules.h with internal/modules.hh
2018-12-03 13:36:25 +02:00
344c7dde4a
MXS-2205 Combine internal monitor headers
...
Contents of monitor.h moved to monitor.hh
2018-12-03 13:32:09 +02:00
77585bdb8c
MXS-2197: Make config.h and service.h C++ headers
...
This is the first step into converting the other headers into C++.
2018-11-30 12:15:57 +02:00
01628dd0de
Cleanup server version updating
2018-11-21 17:36:52 +02:00
cbe1483028
MXS-2167: Add support for extra_port
...
This allows MaxScale to connect to the server even when max_connections
has been reached.
2018-11-15 14:24:41 +02:00
f8c132903b
Fix query average measurment and average text output.
...
The query_ended() call was not in the right spot. Tests did not
detect it. Changed textual output to reflect the fact that they
are for RWSplit reads.
2018-11-04 17:18:09 +02:00
e0c46a9c9a
Initialize server version string
...
Could read uninitialized data.
2018-10-16 16:09:38 +03:00
9c52ba5c07
Update release notes and documentation for the Throttle Filter
...
and Adaptive Routing
2018-10-05 13:52:42 +03:00
75ea1b6ea1
Fix formatting of new(std::nothrow)
...
The code previously formatted everything as `new( std::nothrow)`.
2018-10-04 21:50:44 +03:00
e56492c23f
MXS-1777 Make "Sample Max" of the server EMAverage adaptive
...
A rather simple but very effective method as testing shows.
2018-10-04 17:53:57 +03:00
19f8e1697b
Make the Server's EMAverage a member
...
The combined effort of all workers of updating EMAverage is needed for precision,
statistics and making parts of it adaptive (rather than hardcoded or configured).
2018-10-04 17:53:57 +03:00
c95adf1f2e
Add prefix to Server member variables
...
Added the m_ prefix to Server member variables.
2018-09-28 12:18:24 +03:00
3ee5d9a8ea
MXS-2067: Move server lock into Server class
...
The lock for the server is now only visible to the MaxScale core. Changing
the type to std::mutex also allows the use of RAII lock guards.
2018-09-28 12:18:23 +03:00