Commit Graph

13438 Commits

Author SHA1 Message Date
add488366b Log message on when a host is blocked
To make it easier to detect when a host was blocked due to too many
authentication failures, a log message is now logged.
2019-05-24 10:05:15 +03:00
cb1e7b14b4 Remove debugcli from test configurations
The module has been removed in 2.4.
2019-05-24 10:05:15 +03:00
e0c5791a6e Merge branch 'develop' of github.com:mariadb-corporation/MaxScale into develop 2019-05-23 11:29:32 +03:00
f8688a7285 Merge branch '2.3' into develop 2019-05-22 15:57:46 +03:00
64935573b2 Add virtual functions check_replication() and start_replication() for Clustrix
Implementations of check_replication() and start_replication() for Clustrix allows to use fix_replication()
also for Clustrix nodes without checking it.
Also several attempts to check nodes after restart are added - to wait for nodes if they are not running
right after server daemon restart
2019-05-22 15:39:25 +03:00
b6b0a69440 Fix parameter option overlap
All duration parameters behaved as if they were deprecated due to the bits
overlapping.
2019-05-22 12:25:06 +03:00
17fa1ce616 Fix galeramon regression
The comparisons were done wrong: strcasecmp returns 0 for equal strings.
2019-05-22 10:02:48 +03:00
85a0cdf46c Fix runtime listener creation
The "default" special keywords weren't removed.
2019-05-22 10:02:48 +03:00
e545e2ac5c Merge branch '2.3' into develop 2019-05-22 10:02:27 +03:00
8317fec745 MXS-2496: Check for ALL PRIVILEGES grant
If a user has ALL PRIVILEGES as a global privilege, it overshadows the
SHOW DATABASES grant.
2019-05-22 09:56:35 +03:00
365efb9d3a Ignore SIGHUP termination in ssh_node
Sometimes the command appears to complete and terminate with a SIGHUP
instead of the proper return value.
2019-05-22 09:56:35 +03:00
af92fef510 MXS-2477 Update schemarouter documentation 2019-05-21 13:57:32 +03:00
7893c120a9 MXS-2477 Change schemarouter ignore_databases parameters to ignore_tables
With the table level sharding parameter is used to ignore tables not
databases.
2019-05-21 13:48:17 +03:00
b294acf276 MXS-2496: Fix SHOW DATABASES grant check
The code expected that the grant was given to the actual user, not a role.
2019-05-21 13:43:51 +03:00
b04415d8da Fix use of gwbuf_length in mxs::Buffer
Backend should use empty() instead of length() to see if the buffer is
empty. The length of a buffer should always be valid to call, even on
empty buffers.
2019-05-21 13:15:20 +03:00
0c19d1ea03 Fix debug assertion in mysql_backend
The backend read function used a NULL GWBUF with gwbuf_length.
2019-05-21 13:15:20 +03:00
c4fff21909 Fix gwbuf_apped assertion on writeq drain
The DCB writeq would be the tail pointer and it would be NULL.
2019-05-21 13:15:20 +03:00
6667dbed18 Add missing HEAVY label to big tests 2019-05-21 13:15:20 +03:00
d0153f6ce3 clustrixmonitor: Add missing include 2019-05-21 12:50:10 +03:00
0af1f6e690 Merge branch '2.3' into develop 2019-05-21 11:18:40 +03:00
cf46004bd8 Make the servers-array in Monitor private
This prevents derived classes from modifying the array directly,
which would be unsafe.
2019-05-21 10:58:24 +03:00
6317a86c69 MXS-2495 No nulls for GWBUF_IS_CONTIGUOUS()
The macro GWBUF_IS_CONTIGOUS() and the actual implementation
gwbuf_is_contiguous() can only be called with a non-NULL pointer.
2019-05-21 10:52:34 +03:00
68ad51bc52 MXS-2483: Address review comments 2019-05-20 15:46:53 +03:00
08bb5d009d MXS-2483: Make some SSLContext methods const
The serialization and opening of a new SSL session can be const.
2019-05-20 15:46:53 +03:00
76399200f4 Fix assertion on client SSL read
When SSL is enabled, the protocol seems to get zero byte reads which
result in a null GWBUF being passed to gwbuf_length.
2019-05-20 15:46:52 +03:00
e5a49a2f7b MXS-2483: Take SSLContext into use in binlogrouter 2019-05-20 15:45:19 +03:00
c78e907da0 MXS-2483: Minor SSL usage cleanup
Changed getter function return values to std::string, converted
MXS_CONFIG_PARAMETER::set_from_list to take std::strings instead of const
char pointers.
2019-05-20 15:45:19 +03:00
82add11e86 MXS-2483: Take SSLContext into use
SSLContext is now used everywhere except the binlogrouter which still
allocates the contexts itself. Fixing the binlogrouter's misuse of
internal structures is a rather large undertaking and for this reason the
SSLContext will be taken into use there in a separate commit.
2019-05-20 15:45:18 +03:00
73796be9d6 MXS-2483: Make SSLContext a C++ class
The class now encapsulates all the functionality that is related to
setting up a SSL context.
2019-05-20 15:45:18 +03:00
c21558315b Fix debug assertion with SSL connections
The code assumed gwbuf_length would accept null buffers.
2019-05-20 15:45:18 +03:00
1197bd40db MXS-2483: Move unwanted SSL code to mysql_client.cc
The code was only used by mysql_client.cc and should therefore be located
in it.
2019-05-20 15:45:18 +03:00
cab336ed89 MXS-2483: Rename SSL_LISTENER to mxs::SSLContext 2019-05-20 15:45:18 +03:00
bb706394f6 MXS-2473 Simplify regular expression settings documentation
The settings "match", "exclude" and "options" are now explained once
in the general documentation. The individual filter documentation refers
to the general explanation.
2019-05-20 11:18:03 +03:00
650230455a MXS-2169 Allow unsafe failover when 'enforce_simple_topology' is on
If gtid of master is unknown (as is typical when master is down when MaxScale
starts) the domain id is guessed from the slaves instead. This is usually
safe.
2019-05-20 10:43:54 +03:00
0f714e9ad4 MXS-2495 Cleanup GWBUF interface
All GWBUF macros that address a single link in a chain are now
simple wrappers for equivalent gwbuf_link-functions.

Next step is to drop the macros and replace their use with calls
to the functions.
2019-05-20 09:57:37 +03:00
d1affba34d MXS-2480 Add log message about opened SQLite database 2019-05-20 09:11:58 +03:00
004e8e638f MXS-2480 Fix creating of the in memory sqlite3 databases in PAMAuth
SQLITE_OPEN_URI flag was missing causing the databases to be created in
disk instead of in memory. Also added info level log message from created
database in clustrixmonitor.
2019-05-20 09:11:58 +03:00
b212307fea MXS-2485 PacketTracker utility class.
Several TODOs in PacketTracker.
2019-05-19 18:30:27 +03:00
29e5af1ded Move router limitations to router documentation
This way the limitations are easier to find and are consistent across the
modules.
2019-05-17 14:44:49 +03:00
24ca503b0f Document transaction_replay_attempts
Also added the new readwritesplit parameters to the 2.4.0 release notes.
2019-05-17 14:44:12 +03:00
5828061321 Merge branch '2.3' into develop 2019-05-17 14:39:30 +03:00
a6c5e880c1 MXS-2470 Validate GWBUFs
A GWBUF given to any gwbuf-function:

- Must not be NULL. Exceptions are gwbuf_free() and gwbuf_append(),
  in analogy with free() and realloc() respectively.
- Must be the head of a chain.
- Must be owned by the calling thread.
2019-05-17 14:37:38 +03:00
6cd86051de MXS-2470 Invalidate tail pointers
Although not made unambiguously clear, it is *ONLY* allowed to
manipulate GWBUFs that are the first link of a GWBUF chain (that
may consist of just one link).

With this change, in debug mode the tail pointer of intermediate
links is invalidated so that an attempt to use an intermediate
link is likely to cause a crash.
2019-05-17 14:37:38 +03:00
96a477ec89 MXS-2490: Send error to client on unknown PS handle
If a client requests an unknown binary protocol prepared statement handle,
a custom error shows the actual ID used instead of the "empty" ID of 0
that the backend sends.
2019-05-17 14:13:44 +03:00
f94355770f Merge branch '2.2' into 2.3 2019-05-17 14:10:28 +03:00
4ee30f5c52 MXS-2169 Allow a downed server to be selected as topology master
This is required for the case when MaxScale is started when the master is
already down.
2019-05-17 13:46:33 +03:00
d2f3e56d0a MXS-2169 Add 'enforce_simple_topology'-setting
Does not add any functionality yet.
2019-05-17 13:46:33 +03:00
c801789ff3 Cleanup monitor running state 2019-05-17 13:34:48 +03:00
08b4c26652 Monitor types and fields cleanup
Moves some enums to class enums. Moves some free functions to class methods.
2019-05-17 13:34:48 +03:00
f86f2c7688 Move remaining monitor status print functions inside class 2019-05-17 13:31:20 +03:00