14977 Commits

Author SHA1 Message Date
Markus Mäkelä
d57de28199
Fix schemarouter query queue
If the schemarouter service used a filter, any queued queries would end up
being routed twice for them as well. This would break any filters that
would expect a result for each query and it could also cause a hang if the
filter did not forward it up to the router.

The correct thing to do is to call the routeQuery method of the router
directly.
2021-12-31 15:25:18 +02:00
Johan Wikman
47a47db79e 2.4 Fix broken sanity_check.cpp 2021-12-28 08:29:01 +02:00
Markus Mäkelä
a3209bd1ca
MXS-3915: Add test case
Extended sanity_check to cover this bug. The test reproduces the bug and
verifies that the fix works.
2021-12-14 16:35:37 +02:00
Markus Mäkelä
01dbcd8372
MXS-3915: Never cache autocommit queries
As both `SET autocommit=1` and `SET autocommit=0` share the same canonical
query form but do not have the same types, they should not be stored in
the cache.
2021-12-14 16:34:50 +02:00
Markus Mäkelä
e9da486c95
MXS-3885: Fix loading of configs from directories
The global config handler should only be used for the persisted
maxscale.cnf file, not for all files named maxscale.cnf.
2021-11-19 07:18:21 +02:00
Markus Mäkelä
e087a327fb
MXS-3879: Fix loading of persisted global options
The code is now identical to the one in 2.5 and it still suffers from the
problem described in MXS-3885. This will be fixed in a separate commit.

This commit changes the persisted filename but since it was ignored, it
won't affect old installations.
2021-11-18 11:42:13 +02:00
Markus Mäkelä
39abee7b9a
MXS-3310: Document KRB5_KTNAME 2021-11-15 13:27:38 +02:00
Markus Mäkelä
47601363a9
MXS-3873: Add test case
The test makes sure this problem is fixed by the fix for MXS-3585.
2021-11-15 12:54:40 +02:00
Johan Wikman
fa83259c62
MXS-3585 Fix problem 2021-11-15 12:37:41 +02:00
Markus Mäkelä
1185098e41
MXS-3836: Document refresh_databases "behavior"
The fact that the parameter does nothing in 2.4 and newer versions is now
at least documented. Fixing it this late in 2.4 could result in unwanted
changes in behavior.
2021-11-10 15:30:24 +02:00
Markus Mäkelä
1b432c1bf3
MXS-3617: Fix lost packets during writeq throttling
Backported the fix for MXS-3617 to 2.4.

If a packet was read from the backend while the client DCB was being
throttled due to writeq_high_water being hit, the response would be
discarded as it did not qualify for routing. The check should not check
whether the client DCB is in epoll as it has no effect on writes.
2021-11-10 07:27:37 +02:00
Johan Wikman
bbbeae4c94 Merge branch '2.4.18' into 2.4 2021-11-02 12:15:33 +02:00
Johan Wikman
ea7ff65dfa 2.4.18 Update release date 2021-11-02 08:10:20 +02:00
Johan Wikman
4f0998cb1f 2.4 Bump maintenance version 2021-10-29 09:09:23 +03:00
Johan Wikman
2a54224927 2.4.18 Update change date 2021-10-29 08:29:51 +03:00
Johan Wikman
eca32c84f6 2.4.18 Add release notes and update change log 2021-10-29 08:15:44 +03:00
Markus Mäkelä
0bf5641d80
MXS-3800: Explain lost_slave events
Currently the state change explanations are only added to mariadbmon. They
are less relevant for Galera clusters as they themselves explain why they
change their states but should still be added to make them easier to
analyze.

The event that isn't explained and is most often encountered is the loss
of a Slave status. Most often the loss of a Slave status happens because
either the IO thread or the SQL thread has stopped. Printing the states of
the threads as well as the latest error should hint at what caused the
outage.

The information can be added to the REST API in 2.5 where the monitors can
add extra information to the server JSON.
2021-10-20 10:03:03 +03:00
Markus Mäkelä
136d0271df
Log DCB remote on SSL error
This should help identify the client which caused the error to occur.
2021-10-05 13:12:49 +03:00
Markus Mäkelä
b4edc74926
MXS-3609: Use 64-bit integers for statistics
This should be enough to avoid the problem of integer overflow in 2.4.
2021-08-31 08:15:02 +03:00
Niclas Antti
aa6a1a58eb MXS-3359 Change qla-filter append option to default to true
Append to log files after a restart rather than overwrite.
2021-08-20 13:03:13 +03:00
Markus Mäkelä
8765eb88fa
MXS-3415: Export config with correct permissions
The created file is now created with the correct permissions: read and
write permissions for the user and group.
2021-08-02 09:30:06 +03:00
Johan Wikman
c668da624b MXS-3656 Fix test crash_on_bad_sescmd
Spaces in object names.
2021-07-02 09:39:13 +03:00
Markus Mäkelä
a1b3dfff54
MXS-3114: Fix creation of listeners with sockets
Backporting to 2.4.

The socket parameter wasn't correctly extracted.
2021-06-12 01:12:30 +03:00
Markus Mäkelä
784cab2daf
MXS-3114: Fix duplicate listener check
Backporting to 2.4.

The listener search used the host and port for listeners that used sockets
and vice versa. This caused multiple listeners with sockets to fail to be
created.
2021-06-12 01:12:21 +03:00
Markus Mäkelä
2d9ebbdbc4
Merge branch '2.3' into 2.4 2021-06-07 08:34:26 +03:00
Markus Mäkelä
946f2e57fa
MXS-3582: Backport fix to 2.3 and 2.4
2.3 and 2.4 seem to also be affected by it.
2021-06-04 14:06:25 +03:00
Markus Mäkelä
ab71e93d49
Merge branch '2.3' into 2.4 2021-06-01 12:45:58 +03:00
Markus Mäkelä
b7e4ee6faa
Fix qc_sqlite compilation failure with GCC 11
The sqlite code is indented oddly:

In file included from query_classifier/qc_sqlite/qc_sqlite3.c:21:
sqlite-bld-3110100/sqlite3.c:98051:3: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
98051 |   if( a[0]<33 ) a[0] = 33;        assert( 33==sqlite3LogEst(10) );
      |   ^~
sqlite-bld-3110100/sqlite3.c:98051:35: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’
98051 |   if( a[0]<33 ) a[0] = 33;        assert( 33==sqlite3LogEst(10) );
      |                                   ^~~~~~
2021-06-01 12:21:40 +03:00
Markus Mäkelä
7e97144274
MXS-3529: Update to connector-c 3.1.13
This fixes the problem with the newest CMake versions. Also fixed the unit
test option.
2021-05-24 18:11:10 +03:00
Johan Wikman
e9b767d463 MXS-3535 Fix tests
Some minor discrepancies are simply ignored at this point in time.
2021-05-24 10:57:13 +03:00
Johan Wikman
aa1b481197 MXS-3535 Collect information from ON clause
In the case of qc_sqlite, it is done "precisely", while in the
case of qc_mysqlembedded rather bluntly. Not time well spent
to figure out exactly which pointer chains need to be walked.
2021-05-24 10:54:35 +03:00
Johan Wikman
e7f9a5bd65 MXS-3535 Add test that reveals the problem
qc_sqlite does not collect from ON.
2021-05-24 10:50:35 +03:00
Esa Korhonen
63daa0e28c Merge branch '2.3' into 2.4 2021-05-18 16:22:14 +03:00
Esa Korhonen
2d102b2a33 MXS-3538 Update Changelog regarding server authenticator_options 2021-05-17 10:09:07 +03:00
Markus Mäkelä
59c3449d6d
Fix shebang in build.sh 2021-05-06 08:35:14 +03:00
Markus Mäkelä
94b65f8242
MXS-3533: Advertise SESSION_TRACK capability
MaxScale already enables it explicitly in the flags in certain cases but
it didn't support it if the client asked for it.
2021-05-05 11:42:53 +03:00
Markus Mäkelä
38cdade698
MXS-3487: Close old master connection
When a transaction migration starts, the old master must be
unconditionally closed. This is the simplest way of resetting the
connection state and it also helps close unused connections.
2021-04-09 08:49:40 +03:00
Esa Korhonen
7643dd1445 MXS-3417 Move mxs1662_pam_admin-test inside pam_authentication
The test failed because the linux user it used was not available
on buildbot. Now the test is part of the larger pam_authentication-
test, which sets up the users.
2021-03-26 11:28:03 +02:00
Niclas Antti
d914c01797 Merge remote-tracking branch 'origin/2.4.17' into 2.4 2021-03-24 15:33:54 +02:00
Niclas Antti
a150463e4a Correct release year from 2020 to 2021 2021-03-24 15:30:30 +02:00
Esa Korhonen
19d999f8ee MXS-3417 Indicate a skipped test with a special return value 2021-03-08 16:53:49 +02:00
Johan Wikman
d23f22a577 Merge branch '2.4.17' into 2.4 2021-03-08 15:01:52 +02:00
Johan Wikman
a02d4c15ce 2.4.17 Update release date 2021-03-08 14:57:14 +02:00
Johan Wikman
19100bdde2 2.4 Bump maintenance release 2021-03-08 09:31:06 +02:00
Johan Wikman
a8bfbbe254 2.4.17 Update change date 2021-03-08 09:03:02 +02:00
Johan Wikman
6aef554cf3 2.4.17 Create release notes and update change log 2021-03-08 09:00:27 +02:00
Markus Mäkelä
e3c9f1544a
Backport fix for MXS-3392 to 2.4
This solves problems with connectors that unconditionally send a
COM_STMT_PREPARE.
2021-03-04 11:14:44 +02:00
Johan Wikman
70fa260242 MXS-3418 Do not attempt to stop MaxScale if running locally 2021-03-03 12:58:49 +02:00
Markus Mäkelä
19066ae383
MXS-3425: Fix handling of LOAD DATA LOCAL INFILE
The LOAD DATA LOCAL INFILE is handled in a way where it returns two
results that both are complete: the first one with the file being
requested and the second one with the final OK packet. Readwritesplit
called session_book_server_response for both statements which caused the
current query index to drop to -1 which in turn was unconditionally used
as the buffer offset.

The new check for the invalid index value will help prevent crashes in
production while still allowing it to be detected while testing.
2021-03-03 11:02:15 +02:00
Markus Mäkelä
88baaeffd3
MXS-3424: Improve MaxCtrl argument errors
The error messages are now generated at the site where the error is
detected. This allows a more accurate error to be reported when invalid
parameter values are read.
2021-03-03 11:02:15 +02:00