9815 Commits

Author SHA1 Message Date
Esa Korhonen
7209080236 MXS-1747 Improve error messages of rejoin operations
Now states which query caused the error.
2018-03-28 12:39:10 +03:00
Esa Korhonen
6c32c7421b MXS-1746 Query global gtid_domain_id instead of session-specific value
The monitor queried the session-specific domain id, which does not follow the global
value while the session is alive. This caused the monitor to follow the wrong gtid
domain if the domain was changed after MaxScale was started. This patch modifies the
query to read the global value instead. Even this is not fool-proof, as existing
sessions can issue writes with the old domain, confusing the gtid-parsing.
2018-03-28 12:23:57 +03:00
Markus Mäkelä
3be2ee8b28
Merge branch '2.1' into 2.2 2018-03-28 09:19:22 +03:00
Johan Wikman
7df28f330b Update ChangeLog and Release Notes 2018-03-27 13:58:01 +03:00
Timofey Turenko
e921298af9 add Maxscale stop into test init procedure 2018-03-27 12:58:05 +03:00
Markus Mäkelä
de768469b9
Fix hanging of mxs1585
The test appears to hang when the `SET sql_log_bin = 0` statement is
executed. Removing this seems to fix it and is OK as that's not what the
test aims to check.
2018-03-27 11:50:30 +03:00
Johan Wikman
be0587e195 MXS-1734 Add documentation
And update the release notes.
2018-03-27 09:35:35 +03:00
Johan Wikman
4b282920ae MXS-1734 Remove command line flag retain-last-statements
From a practical perspective it makes no relevant difference
whether you have to add an entry to the config file and restart
maxscale or if you have to restart maxscale and provide a specific
command line, so better to provide just either possiblity.

More important would be to provide a way for turning this feature
on and off at runtime.
2018-03-27 09:35:35 +03:00
Johan Wikman
3d45d452eb MXS-1734 Add possibility to instruct when to dump statements
With the configuration entry

dump_last_statements=[never|on_close|on_error]

you can now specify when and if to dump the last statements
of of a session.
2018-03-27 09:35:35 +03:00
Johan Wikman
6d599395d4 MXS-1734 Add statement dumping mechanism
With the configuration entry

   retain_last_statements=<unsigned>

or the debug flag '--debug=retain-last-statements=<unsigned>',
MaxScale will store the specified number of last statements
for each session. By calling

    session_dump_statements(session);

MaxScale will dump the last statements as NOTICE messages.
For debugging purposes.
2018-03-27 09:35:35 +03:00
Markus Mäkelä
6e859fcf02
Merge branch '2.1' into 2.2 2018-03-27 07:25:00 +03:00
Markus Mäkelä
801d7ccdc7
Add sleep to pers_02
Adding a short sleep before the second attempt at connection creation is
done seems to significantly improve the reliability of the test.
2018-03-27 07:24:30 +03:00
Markus Mäkelä
32bfcc117b
MXS-1731: Ignore empty values in persisted configs
If a MaxScale-generated configuration defines an empty value, it is
ignored with the assumption that the next modification will cause the
problem to correct itself.
2018-03-27 07:24:29 +03:00
Markus Mäkelä
933a74a418
MXS-1739: Disable TLS session cache
Disabling the session cache prevents errors from being generated as the
default OpenSSL configuration is to enable session caching but with an
uninitialized context ID. In addition to preventing the errors, it
prevents the possible security problems implicated by the definition a
"static" context ID.
2018-03-27 07:23:46 +03:00
Markus Mäkelä
9b61947205
Attempt to install libasan for RPM systems
Attempting to install libasan allows CentOS 7 to be used with ASAN while
still allowing CentOS 6 to be built.
2018-03-27 07:23:45 +03:00
Johan Wikman
2bdac88b0b MXS-1738 Copy AF_UNIX data from listener to client dcb
We need to copy some data from a AF_UNIX based listener dcb
to the accepted client dcb, to prevent assertion violation in
dcb_get_port(). Further, to be able to log the path in the case
of an authentication error we need to copy that as well.
2018-03-26 10:06:42 +03:00
Johan Wikman
3af5364233 Add 2.2.4 release notes 2018-03-26 10:02:57 +03:00
Johan Wikman
d948fb2dfc MXS-1733 Add documentation 2018-03-26 10:02:57 +03:00
Johan Wikman
033ef59c01 MXS-1733 Match empty values
If a table/database rule has been provided then if the resultset
does not contain table/database names, then we consider it a match
(subject to the column obviously).

Otherwise a rule like

        {
            "replace": {
                "table": "info",
                "column": "email"
            },
            "with": {
                "fill": "*"
            }
        }

could be bypassed with a statement like

    SELECT * FROM info UNION SELECT * from info

as the resultset in that case will not indicate that the column emain
is from info, which it will if the statement is

    SELECT * FROM info;
2018-03-26 10:02:57 +03:00
Johan Wikman
7be6f52d4a MXS-1733 Add test for revealing the problem 2018-03-26 10:02:57 +03:00
Markus Mäkelä
48e2b50e68
MXS-1731: Persist only non-empty values
When the service configurations are persisted, they need to be valid. This
means that no empty values are written into the file.
2018-03-22 13:29:28 +02:00
Markus Mäkelä
17c26164ce
MXS-1701: Refer to the build scripts
Instead of keeping the same information in two places, the build
instructions can simply refer to the actual build script used to prepare
the MaxScale builds. This makes the build process easier.
2018-03-22 13:29:28 +02:00
Markus Mäkelä
65033313a7
MXS-1701: Fix build instructions
Corrected the documentation on building from source and fixed a missing
variable check for the luafilter.
2018-03-22 13:29:28 +02:00
Timofey Turenko
830858a161 Fix build VM restore process
Moving 'mdbci destroy' bofere creating build.json to prevent
build.json from being deleted by 'destroy' command.
2018-03-22 12:02:44 +02:00
Esa Korhonen
bd8b6dbc6f MXS-1722 Add better error messages to switchover_demote_master()
The error messages should now be a bit more reliable.
2018-03-21 15:04:39 +02:00
Johan Wikman
0e3874781f Fix merge breakage 2018-03-21 14:20:54 +02:00
Markus Mäkelä
092286297e
MXS-1719: Fix hang on multi-statement UPDATE
When a multi-statement query consisting completely of UPDATE statements is
received, the packets can be received in two separate buffers. To cope
with this situation, the state change into REPLY_STATE_RSET_COLDEF must
only be done if the buffer contains more than a single packet.
2018-03-21 14:14:16 +02:00
Markus Mäkelä
42412149bd
Add missing .cpp suffix
It doesn't appear to be necessary but other files use it.
2018-03-21 14:14:14 +02:00
Markus Mäkelä
8b943e249b
MXS-1731: Treat empty parameters as errors
If a parameter is defined without a value, it is now treated as an error.
2018-03-21 14:14:13 +02:00
Markus Mäkelä
7359774ae1
MXS-1729: Allow global routeQuery to return values
The `lua_pcall` parameters were incorrect, the second number signifies the
number of parameters the function can return.
2018-03-21 14:14:04 +02:00
Johan Wikman
f5562d2cab MXS-1719 Add test that reveals problem
With the masking filter, several UPDATEs as one multi-statement
causes the session to hang.
2018-03-21 13:39:03 +02:00
Johan Wikman
c4d3628c4a Update version to 2.2.4 2018-03-21 13:32:36 +02:00
Johan Wikman
a996ea58ef Merge branch '2.1' into 2.2 2018-03-21 13:27:51 +02:00
Johan Wikman
041b775150 MXS-1730 Add change that fixes the problem
ENGINE is a keyword but not a reserved word, so it must
silently convert into an identifier if it is used in a
context where it cannot be used as a keyword.
2018-03-21 13:25:06 +02:00
Johan Wikman
5be9a8d7f8 MXS-1730 Add test-case that reveals the problem 2018-03-21 13:25:06 +02:00
Johan Wikman
4413c0cec0 Update version to 2.1.16 2018-03-21 13:23:44 +02:00
Johan Wikman
2cc0c5f1aa Merge branch '2.1' into 2.2 2018-03-21 11:24:41 +02:00
Johan Wikman
cb3a6a0e11 Merge branch '2.1.15' into 2.1 2018-03-21 11:23:28 +02:00
Johan Wikman
dadfb68a70 Update 2.1.15 release date. 2018-03-21 11:17:58 +02:00
Markus Mäkelä
0b89bc167a
Correct listener port and socket documentation
Remove the old paragraph and added a note about defining separate
listeners for UNIX domain sockets and network ports.

Also fixed the example listener definition.
2018-03-20 13:07:28 +02:00
Markus Mäkelä
39dff20a0a
Use correct callback function in MySQLAuth
The JSON diagnostics function used the non-JSON version of the callback.
2018-03-20 13:07:27 +02:00
Markus Mäkelä
dcf9d7f152
Fix calls to diagnostics_json
Add missing listener JSON diagnostics call. Check that the
diagnostics_json function exists before calling it.

As the protocol modules don't have diagnostics functions, they aren't
called.

Replace hard-coded strings with constant parameters. This makes it
slightly cleaner.
2018-03-20 13:07:27 +02:00
Markus Mäkelä
94f29a11c5
MXS-1724: Reimplement core dump detection
Reimplemented the core dump detection for 2.2.
2018-03-20 13:06:20 +02:00
Markus Mäkelä
b0e0a79b46
Merge branch '2.1' into 2.2 2018-03-20 12:38:23 +02:00
Markus Mäkelä
28e4133669
Add missing jansson dependency on maxscale-common
The Jansson library must be built or must exist before MaxScale.
2018-03-20 12:35:06 +02:00
Markus Mäkelä
02368473f7
Fix failover_mysqlmon
The test should stop MaxScale when it is fixing the replication to prevent
the triggering of the standalone master detection.

Also removed leading spaces from the messages and fixed a possible crash with a
NULL value given to `ssh_node`.
2018-03-20 10:59:08 +02:00
Markus Mäkelä
64ccb67897
Mark crashing tests as failed
If a test generates a core dump, it is marked as a failure.
2018-03-20 10:59:08 +02:00
Johan Wikman
2dacd0c9a4 Add Changelog and Releasenotes to 2.1.15 2018-03-20 09:29:53 +02:00
Esa Korhonen
aa260cf6cf MXS-1716 Reduce the amount of duplicate elements in users db for PAM
The database-level query now only takes rows with either a global
select privileges or non-null database privileges. The table-level
query only accepts non-null databases and no global privileges,
as users with global select are added by the previous section.
2018-03-19 15:09:36 +02:00
Esa Korhonen
04666b4b31 MXS-1716 Add diagnostic functions to PAM Authenticator
The functions print the user information. Normal version just prints
user@host, the json-version prints the whole array.
2018-03-19 11:02:14 +02:00