Commit Graph

9494 Commits

Author SHA1 Message Date
e455e8d43c Simplify monitor start and stop during switchover/failover
If these operations failed, the monitor could be left stopped.
2018-01-29 15:44:32 +02:00
5212b67bb2 Update 2.2 version number 2018-01-29 15:33:29 +02:00
ef1ec2e524 MXS-1591 Mark GET_LOCK(...) et.al. as WRITE
The follwing statements

    SELECT GET_LOCK('lock1',10);
    SELECT IS_FREE_LOCK('lock1');
    SELECT IS_USED_LOCK('lock1');
    SELECT RELEASE_LOCK('lock1');

are now classified as QUERY_TYPE_READ|QUERY_TYPE_WRITE. That will
make cooperative locking work if these functions are used inside
non-read-only transactions and outside transanctions.
2018-01-29 15:25:21 +02:00
0db538db9a MXS-1583 Treat independent 'users' line in OR-fashion
If there are several 'users' lines in a rule file, for a particular
user, the rules each matching line will be checked independently
until a rule match is found.

That is, the rules of each 'users' line are treated in an OR-fashion
with respect to each other.
2018-01-29 15:25:21 +02:00
cf0d745c14 MXS-1583 Add test that exposes the behaviour
This will fail with MaxScale 2.2.1.
2018-01-29 15:25:21 +02:00
9ded584836 Check that all slaves use gtid replication before performing failover 2018-01-29 13:33:16 +02:00
9b5d4d129e MXS-1630: Combine MaxCtrl into the main package
Added MaxCtrl to the core package. Removed the old packages from build
scripts.
2018-01-29 11:23:00 +02:00
ef5c8d3114 MXS-1631: Update handshake version string
Updated handshake version string to 5.5.5-10.2.12. This will signal that
MaxScale is capable of behaving like a fully-fledged 10.2 server.
2018-01-29 11:23:00 +02:00
e918810a4f MXS-1604: PAMAuth Use "mysql" as default service name, fix authentication data updating
If a user has an empty service name, use "mysql" as default.

Authentication data was only updated inside get_pam_user_services() if no service
was found. It was possible that the PAM service changed but the old service
would be used for authenticating, causing a false negative.

Now, the auth data is updated outside the function if authentication fails for
any reason. The new service data is compared to the old and if equal, password
check is not attempted again. This gives a false negative only if user password
has changed after the previous attempt.

Also, fixed some comments.
2018-01-26 11:00:04 +02:00
dcd57ea21b MXS-1623 Expose descriptor counts through maxadmin 2018-01-26 10:25:19 +02:00
11b0f84b8e MXS-1623 Maintain count of current/total descriptors 2018-01-26 10:25:19 +02:00
c86ee1f53a Clarify documentation on verify_master_failure 2018-01-25 11:54:59 +02:00
d681d0f2fa Add manual rejoin tests 2018-01-25 11:49:37 +02:00
9093f19c8b Clean up atomic_load-functions 2018-01-25 10:52:03 +02:00
b8c78ca9fe Remove erroneous casts 2018-01-25 10:52:03 +02:00
522cbab23d Make the CDC connector C++0x compliant
As CentOS 6 is supported, the CDC connector ought to build on non-C++11
systems.
2018-01-24 11:01:22 +02:00
ed81757c04 Ensure that right close is called 2018-01-24 09:31:22 +02:00
c96d27a495 MXS-1538: Use the integrated CDC connector
Now that the connector resides in the same repository, it can be built as
a library for the tests. Installing the development package is one option
but it would unnecessarily complicate the build process.
2018-01-23 16:32:48 +02:00
f45911caf8 Extend galera_priority test case
The test now verifies that the node priorities are in effect even after
MaxScale is restarted.
2018-01-23 16:32:48 +02:00
257034bf3e Clarify master failure verification
The two previous functions were somewhat overlapping.
2018-01-23 16:14:50 +02:00
a25e90643a Add documentation on manual rejoin 2018-01-23 15:47:49 +02:00
9d4e41259c Add missing CMakeLists.txt
The connectors directory file wasn't added.
2018-01-23 10:32:51 +02:00
73f1005e7a Fix memory leak in test_users
Users were allocated but not freed. Same with the JSON objects.
2018-01-22 15:29:21 +02:00
bb1bfcb52b Fix memory leak in service parameter output
When the service parameters were converted into JSON, an array was created
that was not used.
2018-01-22 15:29:21 +02:00
3ade3f68a7 MXS-1538: Prevent double connecting
Connector::connect now checks whether a connection is already made before
attempting to create another one.
2018-01-22 15:29:21 +02:00
ef53ded057 Fix test_atomic
As the function documentation states, the expected value must be read
again after a call to atomic_cas_ptr. This is due to the fact that if the
values are not the same, the __atomic builtin version will store the
current value into the expected value.

The new value given to the atomic_cas_ptr function was the address of the
new value, not the new value itself. The behavior of the atomic_cas_ptr is
what caused the test to pass on systeems that implement the __atomic
builtins. On older systems that do not implement it, the expected value
was never modified which caused the test to hang.
2018-01-22 15:29:21 +02:00
ccebf38bc0 Update test configuration files
Updated the REST API and MaxCtrl configuration files with new object
names. Updated tests with new object names.
2018-01-22 15:29:21 +02:00
f204650bbb MXS-1538: Remove unnecessary copying of schema information
The schema related information was copied for each row. A shared pointer
to the data can be used to remove the repeated copying of the values.
2018-01-22 15:29:21 +02:00
070df73d99 MXS-1538: Integrate CDC-Connector into MaxScale
Added the files from the repository to MaxScale. Created a new CMake
function for installing development libraries.
2018-01-22 15:29:21 +02:00
b8e72c939d Be specific about the dangers of obfuscation 2018-01-22 13:19:03 +02:00
05402208a5 Merge branch '2.1' into 2.2 2018-01-19 11:47:13 +02:00
753b97303a MXS-1606: Create maxscale_schema database if missing
The monitor will now also create the database if it is missing. Since it
already creates the table, also creating the database is not a large
addition.

Cleaned up some of the related checking code and combined them into a
simple utility function.
2018-01-19 11:34:25 +02:00
bbe99e458d Fix test build failure
MXS-1543 test failed to build in 2.2.
2018-01-19 11:34:25 +02:00
40dfd1e070 MXS-1620: Fix RPM packaging scripts
Unconditionally replace the `strip` binary with a dummy executable.
2018-01-19 11:23:28 +02:00
7c7190e0c4 Fix index overflow in masking filter 2018-01-19 09:55:20 +02:00
d928f69cc7 Update and extend luafilter documentation
Fixed the exposed function name and added minimal configuration and script
examples.
2018-01-18 12:22:04 +02:00
8c0d519caa Update Connector-C to 3.0.3
Updated connector from 3.0.2 to 3.0.3.
2018-01-18 12:22:04 +02:00
beac04b8e7 MXS-1616 Also use 'value' in partial matching
As you can create regular expressions that have a fixed length,
e.g. "....$", it makes perfect sense to replace using 'value' if
the length of the string matches exactly.
2018-01-18 09:48:38 +02:00
47184ea46d Fix build failure on Ubuntu 17.10
The sprintf calls failed due to a warning about possible buffer
overflow. Curiously enough, the same warnings do appear on Fedora 26 but
only when the calls are changed to snprintf.
2018-01-17 14:06:19 +02:00
c02da103d7 MXS-1615 Fix access of wrong argument
- Wrong argument accessed at command invocation. In debug mode
  leads to crash, in release mode probably leads to crash.
- Log result of reload.
2018-01-17 13:59:00 +02:00
a4f6176ced Fix bug in printing switchover/failover module command info
The string constant passed to the register-function went invalid
once CREATE_MODULE() completed, causing random characters to be
printed.
2018-01-17 12:01:00 +02:00
ae949881a9 MXS-1511: Add documentation about new parameters 2018-01-17 10:21:50 +02:00
b8e15d2bea Reformat and tune QLA filter documentation
No additions, just tidying up.
2018-01-17 10:21:50 +02:00
c4df28f64a MXS-1416: Skip directory creation with --config-check
The log and data directories aren't created or checked when the
--config-check option is given.
2018-01-17 09:56:50 +02:00
23f2c3b980 Better failover timing and redirection success is tested
Works similar to switchover.
2018-01-16 18:05:12 +02:00
dbbeeac145 MXS-1596 Use non-privileged user for client
The pre-existing users in the MaxScale test environment have
the super privilege so they are not affected by the database
being set in read-only mode.

Consequently, a custom user without the super privilege must
be used by the client threads.
2018-01-16 16:08:13 +02:00
71f74ea0d2 Add warning about SUPER-users to Switchover Limitations documentation 2018-01-16 15:59:39 +02:00
1d211ecee2 MXS-1511: QLA-Filter replace newlines in SQL-queries with custom strings
The config parameter 'newline_replacement' (defaults to 1 space " ") now defines
what to write to the log file when the sql-query has a newline sequence (\n, \r or
\r\n). If 'newline_replacement' is the empty string "", no replacing is done and
newlines are printed to file.

Also, adds the config parameter 'separator', which defines the string
printed between elements. Default value is ",".
2018-01-16 14:25:19 +02:00
5273cbada6 MXS-1600: Add case-insensitive matching to MySQLAuth
The authenticator now supports similar identifier matching as the MariaDB
server. The lower_case_table_names parameter explains its intended use
(case-insensitive identifier matching):
https://mariadb.com/kb/en/library/server-system-variables/#lower_case_table_names
2018-01-16 13:51:22 +02:00
c2c898ee93 Fix formatting in MariaDB Monitor 2018-01-16 13:27:20 +02:00