Commit Graph

13213 Commits

Author SHA1 Message Date
b08d4e37b5 MXS-2416: Pass deleter to std::shared_ptr<GWBUF>
As shared_ptr doesn't automatically use std::default_delete<T>, it needs
to be explicitly passed to the constructor.
2019-04-03 12:57:06 +03:00
09cb4a885f Fix readconnroute name in examples 2019-04-03 12:57:05 +03:00
e3e66f8e90 MXS-2417: Add option to ignore persisted configs
The load_persisted_configs parameter now controls whether persisted
runtime changes are loaded on startup. The changes are still generated as
it persists the current state of MaxScale making problem analysis easier.
2019-04-03 12:57:05 +03:00
a217dde1f0 MXS-2419: Queue queries executed during trx replay
By storing the queries in the query queue and routing it once the
transaction replay is done, we prevent two problems:

* Multiple transaction replays would overwrite the m_interrupted_query
  buffer that was used to store any queries executed during the
  transaction replay.

* Incorrect ordering of queries when the query queue is not empty and a
  new query is executed during transaction replay.
2019-04-03 12:57:05 +03:00
2dfd7d35ac MXS-2418: Crash on trx replay when log_info is enabled
If the session starts with no master but later one becomes available, when
a transaction is started the code would unconditionally use the master's
name in a log message.
2019-04-03 12:57:05 +03:00
cc1b8b2d56 Use std::begin and std::end
This makes it clear that they are standard functions.
2019-04-02 14:21:54 +03:00
5242cd5ebf Readwritesplit: Graceful maintenance mode
By allowing transactions to the master to end even if the server is in
maintenance mode makes it possible to terminate connections at a known
point. This helps prevent interrupted transactions which can help reduce
errors that are visible to the clients.
2019-04-02 14:21:54 +03:00
319d9fa1c5 Document the force option for set
Added documentation for the new option and mentioned it in the release
notes.
2019-04-02 14:21:54 +03:00
ebd2162024 Add force option to set endpoint
The new `force=yes` option closes all connections to the server that is
being put into maintenance mode. This will immediately close all open
connections to the server without allowing results to return.
2019-04-02 14:21:54 +03:00
cd732ac14f MXS-2243 System tests brings VMs by themselves (#193)
maxscale-system-test changed in order to control test environment by itself.
Every test checks which machines are running, compare with list of needed machines
and start new VMs is they are missing in the running machines list.
Tests are executiong MDBCI commands, MDBCI executable should be in the PATH
2019-04-02 13:27:34 +03:00
f4c6b648d8 MXS-2271 Remove monitor->m_active field
Deactivated monitors are now moved to a separate, inaccessible list.
2019-04-02 13:08:38 +03:00
d89f0c062b MXS-2271 Change Monitor->m_name to std::string
Also, monitor address is no longer printed.
2019-04-02 13:08:38 +03:00
d7971fa44d Merge branch '2.3' into develop 2019-04-02 12:48:33 +03:00
868ae4456c Merge branch '2.3.5' into 2.3 2019-04-02 12:47:08 +03:00
366fc6b8ee MXS-2201: Document static parameters
Documented the list of parameters that cannot be changed at runtime.
2019-04-02 12:45:00 +03:00
2829baeab7 Merge branch '2.3' into develop 2019-04-02 12:35:36 +03:00
d6d5c82fc3 Merge branch '2.3.5' into 2.3 2019-04-02 12:35:23 +03:00
b42d38a3f6 Update release date 2019-04-02 12:34:11 +03:00
370c57ebbc Merge branch '2.3' into develop 2019-04-02 12:29:11 +03:00
09c7183a2b Update 2.3 maintenance version 2019-04-02 12:25:11 +03:00
1417292f0d Destroy monitor only if it's not used
If a service uses a monitor as the source of its servers, it must not be
destroyed before the monitor is removed from all services that use it.
2019-04-02 10:08:59 +03:00
84bf241dd1 MXS-2339 A running Clustrix node is regarded as master
In this context master should be interpreted as "can be read
and written to".

Marking them as master requires less changes in RWS to make it
usable with a Clustrix cluster.
2019-04-02 08:13:50 +03:00
5f02974303 Fix mxs2057_systemd_watchdog
The coredump pattern was wrong.
2019-04-01 21:13:02 +03:00
ab96606269 Merge branch '2.3' into develop 2019-04-01 15:41:52 +03:00
758fec5e2f Update 2.3.5 Change Log and Release Notes 2019-04-01 15:39:59 +03:00
0419e358a6 MXS-2393 Turn off 'require_fully_parsed'
Otherwise test program will not pass as some non test-realated
statements are not fully parsed.
2019-04-01 15:38:01 +03:00
e659c6cc73 Merge branch '2.3' into develop 2019-04-01 13:24:30 +03:00
9281220e91 Cleanup sharding test
Added a timeout to ensure shard info is updated.
2019-04-01 11:32:48 +03:00
738ae9178b Fix binlogfilter matching
The matching always checked the default database when it should only check
it if there are no tables in the statement.
2019-04-01 11:29:16 +03:00
06c01439fb MXS-2393 Fix masking test
The masking_user test creates a database over a masked connection.
As 'CREATE DATABASE DB' is not fully parsed the test will fail since
it creates a database.

To allow the test to pass, we turn off the strict requirement that
all statements must be fully parsed.
2019-04-01 10:52:52 +03:00
5346b24fa4 MXS-2393 Add parameter 'require_fully_parsed'
If set to true and if any of the other blocking related parameters
is true, then a statement that cannot be fully parsed will be blocked.

Default is true.
2019-04-01 10:52:52 +03:00
ffcdce5f7b fix mdbci_cinfig_name in run_test.sh 2019-03-29 18:01:43 +02:00
3977207d12 Update transaction_replay documentation
Removed the confusing paragraph.
2019-03-29 14:23:15 +02:00
4276514e27 MXS-2363 Add section to release notes
Also fix some minor other things in the relase notes.
2019-03-29 11:32:36 +02:00
8fc761ce49 MXS-2363 Add maxctrl show qc_cache 2019-03-29 11:31:35 +02:00
d7e3dd1a23 MXS-2363 Return QC cache information as collection
More logcal perhaps and Makes it easier to handle the output in maxctrl.
2019-03-29 11:31:35 +02:00
ea6ffe2371 MXS-2363 Add REST-API test 2019-03-29 11:31:35 +02:00
5f5d2ef183 MXS-2363 Implement /v1/maxscale/query_classifier/cache
That URL will now return information about the statements in
the query classifier cache. The information is collected using
the same map in a serial manner from all routing workers (that
each have their own cache). Since all caches will contains the
same statements, collecting the information in a serial manner
means that the overall memory consumption will be lower than
what it would be if the information was collected in parallel.
2019-03-29 11:31:35 +02:00
64a0327ada MXS-2363 Add string constants needed by new QC functionality 2019-03-29 11:31:35 +02:00
56ec56f7a0 MXS-2363 Enable the serial execution of function objects
Make it possible to run function objects serially on all
routing workers. Sometimes that is exactly what you want.
2019-03-29 11:31:35 +02:00
9ec82932cf MXS-2363 Skeleton of /v1/maxscale/query_classifier/cache
URL routing in place, callback exists, but no actual information.
2019-03-29 11:31:35 +02:00
1a81371346 MXS-2363 Keep track of individual QC cache hits
Useful statistics.
2019-03-29 11:31:35 +02:00
42e658d91f MXS-2403 Fix test program
ERROR 1248 (42000): Every derived table must have its own alias
2019-03-29 11:31:13 +02:00
48791c3877 Fix duplication of the router parameter
The service parameter list had two router entries in it due to the
assumption that the parameter list never contained the router itself in
it.
2019-03-29 10:35:41 +02:00
4f8d6d1853 Fix transaction_replay documentation
The documentation stated that MVCC reads weren't safe with
transaction_replay when in reality they are not safe in general and
transaction_replay has no effect on it.
2019-03-29 10:35:41 +02:00
514dd96301 MXS-2413 Parse 'DROP DATABASE [IF EXISTS] db' completely 2019-03-29 10:09:38 +02:00
fb96141dda MXS-2243_labels Maxscale system tests prepare environment by themselves
maxscale-system-test changed in order to control test environment by itself.
Every test checks which machines are running, compare with list of needed machines
and start new VMs is they are missing in the running machines list.
Tests are executiong MDBCI commands, MDBCI executable should be in the PATH
2019-03-28 22:37:24 +02:00
6aa846ebc7 MXS-1951: Document SO_REUSEPORT effects
Added a section into limitations and noted the effects in the release
notes.
2019-03-28 16:34:12 +02:00
66f850d77d MXS-1951: Fix maxctrl cluster tests
The fact that two MaxScale processes can bind to the same port is now
possible due to the use of SO_REUSEPORT. As this is doable only with a
very deliberate setup, it is unlikely to be a practical problem in most
cases. Regardless, the test needs to be fixed to accept multiple MaxScales
bound to the same port.
2019-03-28 16:34:12 +02:00
388e952c5f MXS-1951: Fix port conflict detection
With the addition of SO_REUSEPORT support, it is no longer possible to
rely on the network stack to prevent multiple listeners from listening on
the same port. Without explicitly checking for the ports it would be
possible for two listeners from two different services to listen on the
same port in which case the service would be almost randomly chosen.
2019-03-28 16:34:12 +02:00