Commit Graph

13425 Commits

Author SHA1 Message Date
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
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
bf63698991 MXS-2464: Bring back the runtime query queue check
The code that checked that only non-empty queries are stored in the query
queue was left out when the query queue fix was backported to 2.3. Since
MXS-2464 is caused by a still unknown bug, the runtime check should help
figure out in which cases the problem occurs.
2019-05-17 13:03:03 +03:00
ca682a5b1c Merge branch '2.2' of github.com:mariadb-corporation/MaxScale into 2.2 2019-05-17 09:40:07 +03:00
677023a18f Move version pronting from call_mdcbi() directly to TestConnectios()
mdbci call can heppen before maxsales object creation and segfault hapens
To avoid it call of ssh for 'maxscale --version-full' is moved to the end
of Testconnections constructor
2019-05-16 14:36:37 +03:00
0a6c94d77b Merge branch '2.3' into develop 2019-05-16 10:55:19 +03:00
1c820f6ae3 Merge branch '2.3.7' into 2.3 2019-05-16 10:55:02 +03:00
1dbe599b2a Update 2.3.7 release date
Also remove the MXS-2475 'Fix mxs1980_blr_galera_server_ids_' "bug"
that was changed into a task as it has no impact on users of MaxScale.
2019-05-16 10:47:46 +03:00
2cd4da32a7 MXS-2494: Fix user loading queries for MariaDB 10.1+
The queries now properly check for the plugin.
2019-05-16 10:41:04 +03:00
a12a0af887 Merge branch '2.3' into develop 2019-05-15 15:47:36 +03:00
0f85baabe1 MXS-2491 Remove global destructor inter-dependency
log.cc:this_unit.slogger depends upon logger.cc:this_unit.ident.
Depending on which one is destructed first, there will be a crash
or then not.

It seems that the destruction order when returning from main()
is not necessarily the same as that when calling exit() in main,
as this bug is triggered with compilers versions and not with other.
2019-05-15 15:46:20 +03:00
8a67c702b8 MXS-2475 Final fix for mxs1980_blr_galera_server_ids
In this context wsrep_gtid_domain_id and gtid_domain_id need to
be the same to ensure that all gtids will be the same.
2019-05-15 14:55:21 +03:00
a3e9ce651f Add 'maxscale --version-full' command to call_mdbci()
Previously Maxscale version check was in the 'check_backend', but this was
removed from the tests execution process. Now 'maxscale --version-full'
is added to nodes creation function - to call_mdbci()
2019-05-15 13:18:27 +03:00
b80aa081fe Fix test_buffer test case 2019-05-15 12:17:10 +03:00
2472911aac Fix qc compare.cc build error 2019-05-15 11:02:53 +03:00