12761 Commits

Author SHA1 Message Date
Johan Wikman
c116452c25 MXS-2253 Add MXS_MODULE_PARAM_DURATION
Added a new module parameter type to be used for parameters
that specify a duration. With the suffixes 'h', 'm', 's' and
'ms' the duration can be specified in hours, minutes, seconds
or milliseconds, respectively.

Irrespective of how the duration is specified, it is always
returned as milliseconds.

For backward compatibility, when a duration value is read it must
be specifed how a value *not* defined using a suffix should be
interpreted; as seconds or milliseconds.

  value = param->get_duration(name, mxs::config::INTERPRET_AS_SECONDS);
2019-02-14 10:57:55 +02:00
Johan Wikman
a0d715a39f MXS-2253 Update general documentation regarding durations 2019-02-14 10:57:55 +02:00
Markus Mäkelä
12c22f0ba8
Merge branch '2.3' into develop 2019-02-13 13:37:50 +02:00
Markus Mäkelä
d44193bc9e
Merge branch '2.2' into 2.3 2019-02-13 13:37:42 +02:00
Markus Mäkelä
79fd01d4dd
Add hintfilter to documentation contents 2019-02-13 13:37:02 +02:00
Markus Mäkelä
9a12ae53f2
Merge branch '2.3' into develop 2019-02-13 13:35:07 +02:00
Markus Mäkelä
77dc5946c7
Fix watchdog test
The test needs to remove the expected core dump to prevent the test from
failing.
2019-02-13 13:34:48 +02:00
Markus Mäkelä
36e64aefe8
MXS-2326: Add hint cloning test case
The test checks that the steps taken to reproduce the bug no longer result
in a failure to route the query correctly.
2019-02-13 13:34:48 +02:00
Markus Mäkelä
775fc043c8
MXS-2326: Clone routing hints on gwbuf_clone
When a buffer is cloned the hints for that buffer should also be cloned.
2019-02-13 13:34:48 +02:00
Esa Korhonen
19143e04e1 Fix nested lists
Adding some spaces should fix rendering issues in KB.
2019-02-13 10:50:53 +02:00
Esa Korhonen
311704cdd9 MXS-2050 Clean up session log checking
Also moved constants around.
2019-02-13 10:36:36 +02:00
Esa Korhonen
c5763beb28 MXS-2050 Check session file rotation
Session log files are now regularly checked for existence. If the log file
does not exist (likely because it has been rotated), a new log file is created.
2019-02-13 10:36:36 +02:00
Esa Korhonen
16641a1f46 MXS-2050 Prepare to move file handling inside router sessions
The sessions will need to reopen the log file if it's rotated.
2019-02-13 10:36:36 +02:00
Johan Wikman
eac478876d Merge branch '2.3' into develop 2019-02-13 10:24:24 +02:00
Johan Wikman
6776392ffb Merge branch '2.3.4' into 2.3 2019-02-13 10:24:01 +02:00
Johan Wikman
e9667dd051 Update 2.3.4 release date 2019-02-13 10:14:41 +02:00
Johan Wikman
3b1b27fe9b Update maintenance version in 2.3 2019-02-13 10:11:36 +02:00
Esa Korhonen
cc06f98e42 MXS-2050 Move diagnostics and command handlers inside class 2019-02-11 14:17:43 +02:00
Markus Mäkelä
661f1dd4e4
Merge branch '2.3' into develop 2019-02-11 13:14:52 +02:00
Johan Wikman
7a99b5d253 MXS-2314 Define monitor state in terms of worker state
Worker::STOPPED    -> MONITOR_STATE_STOPPED
Worker::POLLING    -> MONITOR_STATE_RUNNING
Worker::PROCESSING -> MONITOR_STATE_RUNNING

By defining the monitor state from the worker state there is
no risk they will ever get out of sync. And there is one thing
less to maintain.
2019-02-11 13:03:18 +02:00
Johan Wikman
544e88a0b8 MXS-2314 Remove unnecessary monitor state 2019-02-11 13:03:18 +02:00
Johan Wikman
72d02d33c0 MXS-2314 Remove unnecessary worker states
The removed states were not used for anything useful.
2019-02-11 13:03:18 +02:00
Johan Wikman
6425d4ed0c MXS-2314 Ensure that connections are closed
As m_servers is a member of Monitor, it is better if the closing
of the MYSQL connections is done there, so that derived classes
do not need to remember doing that.
2019-02-11 13:03:18 +02:00
Johan Wikman
dffb933efa MXS-2314 Do not accept NULL when starting/stopping monitor 2019-02-11 13:03:18 +02:00
Johan Wikman
3646c118c9 MXS-2314 Move journal checking inside Monitor 2019-02-11 13:03:18 +02:00
Johan Wikman
cac1d76e48 MXS-2314 Monitor decides whether servers are added to services
When the servers of a service are defined by a monitor, then
at startup all servers of the monitor should be added to relevant
services. Likewise, when a server is added to or removed from a
monitor at runtime, those changes should affect services as well.

However, whether that should happen or not depends upon the monitor.
In the case of the Clustrix monitor this should not happen as it
adds and removes servers depending on the runtime state of the
Clustrix cluster.
2019-02-11 13:03:18 +02:00
Johan Wikman
ab93216064 MXS-2314 Server added to monitor should be added to service
If the servers of a service are defined by a monitor (the config
has 'cluster=SomeMonitor'), then the addition of a server to a
a monitor should lead to that server being added to the service.
2019-02-11 13:03:18 +02:00
Johan Wikman
0e3ec06c5b MXS-2314 Prevent removal of servers from clustered services
If the servers of a service are defined by a monitor, then it must
not be possible to dynamically add or remove servers from the
service.
2019-02-11 13:03:18 +02:00
Johan Wikman
b4eb87dfcc MXS-2314 Populate services with servers
The services whose servers are defined using a monitor, will
now be populated from the monitor.

Note, no consideration has yet been given to runtime changes.
2019-02-11 13:03:18 +02:00
Johan Wikman
f271c5cea1 MXS-2314 Add 'cluster' parameter to service
Using the cluster parameter, the servers of a service can be
defined using a monitor.

This change basically only introduces the parameter.
2019-02-11 13:03:18 +02:00
Markus Mäkelä
1073bc1832
Remove false assertion
The list can be empty
2019-02-11 12:40:43 +02:00
Markus Mäkelä
38069bb32d
MXS-1757: Never link avro against snappy
The Avro libraries appear to sometimes overwrite the CMake
variables. Patching out the code that looks for the libraries should
prevent the library from ever being linked against the snappy libraries.
2019-02-11 10:59:53 +02:00
Markus Mäkelä
aea64aede2
Prune only when history size is exceeded
The documentation stated that at most `max_sescmd_history` commands were
kept but in reality the number of commands kept in the history was one
command smaller than what was documented.
2019-02-11 10:58:17 +02:00
Markus Mäkelä
b93d35ab03
Revert "MXS-2300: Fix off-by-one bug in history size"
This reverts commit 840b4b24bd048ed536621d4433abbb4e846dfcc5.
2019-02-11 10:58:17 +02:00
Johan Wikman
a65bf3e766 Update 2.3.4 release notes 2019-02-11 10:15:09 +02:00
Markus Mäkelä
6f2475b5fa
MXS-2302: Document hintfilter behavior
Moved hintfilter documentation to the correct place and cleaned it
up. Added a note at the start of the syntax documentation about the
behavior of the hint parsing to warn users of possible unexpected
behavior. The hint parsing could really use some refactoring to make it
more manageable which is why the preliminary fix version of the bug will
be 2.4.
2019-02-11 03:18:38 +02:00
Markus Mäkelä
d04fc6c4b9
Merge branch '2.2' into 2.3 2019-02-08 16:14:58 +02:00
Markus Mäkelä
3c5dd257fd
MXS-2311: Test MXS-2311 in mxs827_write_timeout
By repeatedly doing reads instead of one read per second, it is more
likely that MXS-2311 is reproduced. This is still not a deterministic
process but in theory it can reproduce the problem.
2019-02-08 15:03:06 +02:00
Markus Mäkelä
46484b4e11
MXS-2311: Write queued packet one at a time
If an ignorable packet was followed by more than one queued packets, they
would all get routed in the same batch. This would cause unexpected
replies from the server if multiple ignorable packets were queued up.
2019-02-08 14:18:41 +02:00
Esa Korhonen
19ab89144b MXS-2050 Move filter settings to a container 2019-02-08 13:49:11 +02:00
Esa Korhonen
c09128111c MXS-2050 Move more static functions to class methods 2019-02-08 13:49:11 +02:00
Esa Korhonen
81f1cf567e MXS-2050 Rearrange methods
Several functions moved to class methods.
2019-02-08 13:47:45 +02:00
Esa Korhonen
7bbd155a7a MXS-2050 Clean up qlafilter code
Move class and related declarations to a header file, run uncrustify.
2019-02-08 13:47:45 +02:00
Johan Wikman
8c5c93eb60 Remove superfluous const casts 2019-02-08 12:27:45 +02:00
Johan Wikman
3550048c19 Fix mock-framework
Got broken due to changes in how configuration settings are handled.
2019-02-08 12:12:31 +02:00
Johan Wikman
2e270ce1ac Merge branch '2.3' into develop 2019-02-08 10:39:33 +02:00
Johan Wikman
c0593936b8 Update change log and release notes for 2.3 2019-02-08 10:38:22 +02:00
Markus Mäkelä
946ffbb40d
Merge branch '2.2' into 2.3 2019-02-08 10:23:47 +02:00
Markus Mäkelä
1be845c438
MXS-2322: Fix maxctrl authentication
The username and password are now explicitly passed to request instead of
being added into the URI manually.
2019-02-08 10:01:48 +02:00
Esa Korhonen
35ab911d5c MXS-2304 Use configuration class methods instead of separate implementations
Replaces parameter add/set/remove/free.
2019-02-07 13:51:16 +02:00