Commit Graph

12169 Commits

Author SHA1 Message Date
6479656445 Remove commented out tests
The tests weren't enabled in 2.1 so they are unlikely to be up to date.
2018-11-09 09:13:26 +02:00
d7e809f525 Group blr and avrorouter tests
Grouped all binlogrouter and avrorouter tests so that they are executed as
the last tests. This helps prevent some side effects that result from the
"aggressive" replication modifications the tests do. Also removed some
commented out test cases.
2018-11-09 09:13:25 +02:00
8f542d05ba Organize tests by backend server type
Grouping the tests helps detect Galera specific problems.
2018-11-09 09:13:25 +02:00
70dfb447a2 Use normal config for bug681
The test doesn't require Galera backends.
2018-11-09 09:13:25 +02:00
df003a3e7c Use normal config for server_weight
The backends used for the test don't have to be Galera servers as the
functionality is generic.
2018-11-09 09:13:25 +02:00
8c9ecf2756 Remove redundant tests
The tests tested generic functionality and the backend type should not
affect the test results.
2018-11-09 09:13:25 +02:00
ccec2a387a Fix replication in parallel
If the replication is broken between the nodes, it is now fixed in
parallel on all nodes instead of doing it one server at a time.

This reduces the time from about 120 seconds to 13 seconds. The time was
measured by running the check_backend test first with all backends broken
and then with the fixed backends subtracting time of the latter from the
former.
2018-11-09 09:13:25 +02:00
04e4f17618 Sort tests by replication type
The tests that require GTID replication are now all grouped together. This
removes the need to reconfigure the test environment multiple times.
2018-11-09 09:13:25 +02:00
3a5b49caf1 Speed up mxs1751_available_when_donor_crash
As the wait_for_monitor function guarantees that the monitor notices the
state change, we can skip the replication fixing which was somewhat
superficial in the first place.
2018-11-09 09:13:25 +02:00
c523bf74b8 Rewrite binlog_change_master tests
The tests were consistently unstable and as a result of this did not
provide any actionable output. In addition to this these two test were the
longest running tests in the whole MaxScale test suite so a re-design was
warranted.

Instead of emulating a client and a server failure, testing functionality
provides for a test that is faster, more precise and provides more
actionable output. Due to the single-threadedness of the new test, no
cross-thread depencies are present. In addition to this, the superfluous
log flushing was not done as it almost always happened after all
transactions were already complete.

The estimated savings in test time alone is around 1100 seconds (roughly
18 minutes).
2018-11-09 09:13:25 +02:00
b77d5568d8 Add output to mxs1743_rconn_bitmask
This helps analyze why the test is hanging when the slaves are synced.
2018-11-09 09:13:24 +02:00
aadd6f38dc MXS-2153: Update available_when_donor documentation
Added a more precise description of what the parameter does, what the
accepted values are and where to get more information.
2018-11-09 08:04:45 +02:00
293d45aaf1 Limit line length in galeramon documentation
Split long lines that exceeded 80 characters.
2018-11-09 07:45:02 +02:00
bfc8cb4803 MXS-2151: Always log fatal master connection errors
When the connection to the master is broken, the session is not configured
to use the read-only modes and the monitor can still connect to the
server, the connection will be closed and and error is sent to the
client. To leave some trace of this problem in the MaxScale logs, a
message should always be logged when a network error occurs.
2018-11-09 00:39:32 +02:00
ecc7442358 Detect manual commands faster
Previous, MariaDBMonitor would wait until the next monitor interval before detecting
a new manual command. The commands are now checked every 100 ms.
2018-11-08 19:12:00 +02:00
8058e46309 Add link to maxctrl 2018-11-08 13:52:54 +02:00
112c25ab1f MXS-1780 Update release notes 2018-11-08 13:50:42 +02:00
d65269fabb Always process responses inside RootResource
The REST API would skip propagation of the requests to the RootResource if
it was a request to the empty resource.
2018-11-08 12:14:36 +02:00
7d54df74dc Hard-code minimum suggestion distance to 4
This way only close matches are suggested.
2018-11-08 12:14:36 +02:00
809d3549ae MXS-2149 Add REST-API watchdog
This will simply cause a task to be posted to each worker.
If the workers are running normally, the task will reach the
workers and the associated semaphore posted, and the REST-API
call will return. If any worker is not running normally, the
task will not be processed and the REST-API call will hang.
2018-11-08 12:13:02 +02:00
1ca03fb85c MXS-1780 Show last queries of session
'maxctrl show sessions' now show last queries of session, if
the retaining of statements has been enabled.
2018-11-08 12:08:42 +02:00
99bd621874 MXS-1780 Adjust maxctrl output according to console width
Figure out the console width and adjust output accordingly.
In default mode use '\n' as separator (necessary for making the
session query output sensible) and in tsv mode ','.
2018-11-08 12:08:42 +02:00
32f2e769f4 MXS-1780 Make retain_last_statements service specific 2018-11-08 12:08:42 +02:00
2bd2b4a32e MXS-1780 Report times using localtime instead of gmtime 2018-11-08 12:08:42 +02:00
dd712a06fa MXS-1780 Make statement retaining session specific
Whether or not a session should retain its statements is now
a property of the session. This in preparation for making the
whole functionality a property that can be enabled and disabled
at runtime, of the service.
2018-11-08 12:08:42 +02:00
c899f00541 MXS-1780 Collect server response information
As the router is the only one that knows what backends a particular
statement has been sent to, it is the responsibility of the router
to keep the session bookkeeping up to date. If it doesn't we will
know what statements a session has received (provided at least some
component in the routing chain has RCAP_TYPE_STMT_INPUT capability),
but not how long their processing took. Currently only readwritesplit
does that.

All queries are stored and not just COM_QUERY as that makes the
overall bookkeeping simpler; at clientReply() time we do not need to
know whether or not to bookkeep information, we can just do it.

When session information is queried for, we report as much information
we have available.
2018-11-08 12:04:55 +02:00
c78c5a615d MXS-1780 Store time when statement was received 2018-11-08 12:03:50 +02:00
c6378e1006 MXS-1780 Make retained statements available via REST-API 2018-11-08 12:03:50 +02:00
fa13b8036a MXS-1780 Store last statement as cloned GWBUF
The last statements of a session are now stored as a cloned
GWBUF instead of as a copy of the SQL.
2018-11-08 12:03:50 +02:00
3ccdb508de Fix bug in roulette wheel
Slot values were changed after the total was calculated. Fix bug
and adjust the offending code.
2018-11-08 10:50:23 +02:00
c692c864e2 MXS-2078 Take new statistics into use 2018-11-08 10:44:32 +02:00
5175d2b2d7 MXS-2078 Add support for holding router specific server data.
New class to hold the statistics, part of which is currently in
RWSplitSession. Simple API in Backend to create session
specific data.
2018-11-08 10:44:32 +02:00
13a0390de6 MXS-2078 Add IntervalTimer
IntervalTimer is used for accumulating intervals (i.e. durations) over sections of code.
2018-11-08 10:44:32 +02:00
56d28d703c Update MariaDBMonitor documentation
Mention the secondary use of switchover_timeout. Formatting fixes.
2018-11-08 10:33:57 +02:00
07d497a672 Add empty line before numbered list in md-doc
Without that empty line, the numbered list will not be a numbered
list when the md-file is imported into KB.
2018-11-08 09:47:01 +02:00
6a8ba999bd MXS-2095: Fix crash on GRANT CREATE TEMPORARY TABLE
The avrorouter classified the GRANT statement as a CREATE TABLE statement.
2018-11-08 08:31:48 +02:00
8f8e92684a Ensure that correct slave is promoted
Should make the test more likely to succeed.
2018-11-07 12:55:59 +02:00
fb3ccc94d6 MXS-1944 Cleanup function parameters
The naming and ordering is now a bit more consistent between promote() and demote().
2018-11-07 12:55:59 +02:00
e4e2235297 MXS-1944 Use time limited methods in rejoin
Uses switchover time limit, since the typical rejoin of a standalone server
is somewhat similar to a switchover.
2018-11-07 12:55:59 +02:00
184e187732 Different cluster operations use different parameter types
Only the parameters used by all operations are in the common class.
2018-11-07 12:55:59 +02:00
a4ce4e4613 MariaDBServer no longer uses ClusterOperation
The functions in the server class now only use the general parameters object.
2018-11-07 12:55:59 +02:00
8877e7180b Continue separation of ClusterOperation elements 2018-11-07 12:55:59 +02:00
90e6ff078a Divide ClusterOperation to two types
The main class was getting unwieldly and too general. Dividing the fields
helps adding support for other operation types.

This commit leaves most data duplicated, later commits clean up the affected code.
2018-11-07 12:55:59 +02:00
09c5e295d0 Update MariaDBMonitor documenation
Adds table of contents, a mention of semisynchronous replication and clarifies
disk space parameters a bit.
2018-11-07 12:54:22 +02:00
4daffb5e2f MXS-2147: Fix luafilter includes
The filter now correctly includes C headers.
2018-11-06 21:35:53 +02:00
11a756a028 Detect undefined references at link time
Instruct the linker to make sure all symbols are resolved at link time.
2018-11-06 21:34:28 +02:00
774e9d1efb Fix merge problems
The values were not removed from the merge.
2018-11-06 21:18:42 +02:00
383b0b1989 Merge branch '2.2' into 2.3 2018-11-06 21:12:20 +02:00
c3c257719d MXS-2136: Add notes about deprecation
The parameter documentation now mentions that the old 'passwd' is
deprecated.
2018-11-06 15:09:14 +02:00
a99ab62cb7 MXS-2136: Convert 'passwd' to 'password'
The old 'passwd' parameter is now converted to the 'password' parameter
and a warning about its deprecation is logged. This keeps the mandatory
parameter detection functional while still allowing old-style
configurations to be used.
2018-11-06 15:09:14 +02:00