12040 Commits

Author SHA1 Message Date
Johan Wikman
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
Niclas Antti
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
Niclas Antti
c692c864e2 MXS-2078 Take new statistics into use 2018-11-08 10:44:32 +02:00
Niclas Antti
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
Niclas Antti
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
Esa Korhonen
56d28d703c Update MariaDBMonitor documentation
Mention the secondary use of switchover_timeout. Formatting fixes.
2018-11-08 10:33:57 +02:00
Johan Wikman
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
Esa Korhonen
8f8e92684a Ensure that correct slave is promoted
Should make the test more likely to succeed.
2018-11-07 12:55:59 +02:00
Esa Korhonen
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
Esa Korhonen
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
Esa Korhonen
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
Esa Korhonen
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
Esa Korhonen
8877e7180b Continue separation of ClusterOperation elements 2018-11-07 12:55:59 +02:00
Esa Korhonen
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
Esa Korhonen
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
Markus Mäkelä
4daffb5e2f
MXS-2147: Fix luafilter includes
The filter now correctly includes C headers.
2018-11-06 21:35:53 +02:00
Markus Mäkelä
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
Markus Mäkelä
774e9d1efb
Fix merge problems
The values were not removed from the merge.
2018-11-06 21:18:42 +02:00
Markus Mäkelä
383b0b1989
Merge branch '2.2' into 2.3 2018-11-06 21:12:20 +02:00
Markus Mäkelä
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
Markus Mäkelä
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
Markus Mäkelä
f7f6bcea9e
Add parameter name suggestions
If an unknown parameter is detected, a suggestion is now given from the
set of known parameters if they are similar enough.
2018-11-06 15:09:14 +02:00
Markus Mäkelä
a883a4f3e0
Fix password documentation
The old parameter was used in some examples and no note about its removal
was in the parameter.
2018-11-06 15:09:14 +02:00
Markus Mäkelä
3300bfd17f
Remove test for passwd removal
Configs with passwd are still accepted in 2.3.
2018-11-06 15:09:14 +02:00
Markus Mäkelä
113b1503f6
Expand readwritesplit delayed retry error message
The error now explains if the write failure was due to the
delayed_retry_timeout being reached.
2018-11-06 15:09:14 +02:00
Markus Mäkelä
4341c2b6e2
MXS-2142: Set causal_reads_timeout default to 10
The causal_reads_timeout default value is too long when considering the
behavioral changes that MXS-2141 introduced. With a 10 second default
value, a result is returned to the client in a reasonable amount of time.
2018-11-06 15:09:14 +02:00
Markus Mäkelä
e56372b153
MXS-2141: Retry query on master if it times out on slave
With causal_reads enabled, the query would return with an error if the
slave was not able to catch up to the master fast enough. By automatically
retrying the query on the master, we're guaranteed that a valid result is
always returned to the client.
2018-11-06 15:09:14 +02:00
Markus Mäkelä
c661f5e838
MXS-2139: Extend transaction_replay requirements
Enabling transaction_replay now automatically enables
master_failure_mode=fail_on_write. This makes the behavior consistent
across all failure modes.
2018-11-06 15:09:14 +02:00
Markus Mäkelä
95745f5a4e
MXS-2140: Fix readwritesplit configuration processing
Runtime configuration changes did not properly enable implicitly enabled
parameters.
2018-11-06 15:09:14 +02:00
Markus Mäkelä
b2d1a5b91b
Remove unnecessary sleeps from mxs812_2
The 20 second sleep was not needed. Using wait_for_monitor is better since
it makes sure the blocking of the nodes is visible.
2018-11-06 15:08:36 +02:00
Markus Mäkelä
c6e51e7513
Shorten mxs1585
The test description talks about putting the master into maintenance mode
but it spends most of the time putting slaves into maintenance mode. To
make the test more precise (and fast) the test can be reduced to blocking
the most often used slave and the master. The iteration count can also be
lowered from five to two to get at least two cycles of maintenance mode.
2018-11-06 15:08:36 +02:00
Esa Korhonen
b05385e0ac Cleanup monitor stop/start during runtime modification
The stop/start between different callers of do_alter_monitor was
confusing.
2018-11-06 11:44:50 +02:00
Esa Korhonen
fe3900be0e MXS-2102 Allow runtime change of disk_space_threshold for monitor
This is currently disallowed for the server parameter, as the value could be
read/written concurrently. The monitor parameter can be changed since the
monitor is stopped during write.
2018-11-06 11:44:50 +02:00
Esa Korhonen
c5a54d2fe9 Disallow switchover promotion of a server low on disk space
This protects the user and also prevents a neverending series of
automatic switchovers in the case when all servers are low.
2018-11-06 11:44:50 +02:00
Esa Korhonen
2c280e27f2 Free qc thread resources at worker exit 2018-11-06 11:44:50 +02:00
Johan Wikman
d489483c0a MXS-2137 Update MaxAdmin documentation 2018-11-06 09:49:25 +02:00
Johan Wikman
6dc038aa4e MXS-2137 Remove meaningsless statistics
The removed statistics variables have no meaning anymore and
were not updated.
Decided to simply drop the variable from the JSON output. It
gets far too rigid if fields of objects cannot be changed without
bumping the REST-API version.
2018-11-06 09:49:25 +02:00
Johan Wikman
c67c27742a Remove obsolete MaxAdmin documentation
The rest needs an overhaul, but the removed text is completely
obsolete.
2018-11-06 09:49:25 +02:00
Johan Wikman
edaf4ad42e Add deprecation notes to release notes 2018-11-06 09:49:25 +02:00
Markus Mäkelä
656b3e60f6
Deprecate mmmon and ndbclustermon
Separated mmmon and ndbclustermon from the list of supported modules into
their own legacy section. Added a warning about the deprecation to the
relevant documents.

Also added the csmon link to the documentation contents.
2018-11-05 23:24:51 +02:00
Markus Mäkelä
a45622a57e
MXS-1467: Add csmon documentation
Added documentation for the monitor.
2018-11-05 23:24:06 +02:00
Markus Mäkelä
b1c469259c
MXS-1467: Create csmon
Added the csmon monitor which supports both old and new ColumnStore
servers. As older server versions aren't able to express their role, the
master needs to be designated by the user. When a ColumnStore version is
released that supports the mcsSystemPrimary() function, the master can be
automatically found.
2018-11-05 23:24:06 +02:00
Markus Mäkelä
ab70231c12
Fix per thread memory use log message
The query classification cache size was not correctly calculated for the
message.
2018-11-05 13:43:22 +02:00
Markus Mäkelä
4e796189b2
Document REST API policies
Added the API versioning guarantees that are currently promised.
2018-11-05 13:43:22 +02:00
Markus Mäkelä
b8a595a0e6
Fix DCB closing debug assertion
The assertion for a DCB with a fd of -1 needs the internal DCBs as well
since they do not have valid file descriptors.
2018-11-05 13:43:22 +02:00
Markus Mäkelä
a9041a74f1
MXS-2106: Update schema generation scripts
Updated the schemas generated by the scripts. Also added a
requirements.txt for installing all of the python dependencies.
2018-11-05 13:37:29 +02:00
Markus Mäkelä
2fa37aa18a
MXS-2106: Add test case
Added a test case that reproduces the problem and verifies that it is
solved.
2018-11-05 13:37:29 +02:00
Markus Mäkelä
451e75eb6a
MXS-2106: Add null value support to cdc_connector
The cdc_connector had no explicit null value detection which is required
now that the null value handling is fixed.
2018-11-05 13:37:29 +02:00
Markus Mäkelä
562c7be8fe
MXS-2106: Fix NULL value handling
The NULL values were not stored as NULL Avro values due to the fact that
the file format has no native NULL-ness for the basic types. To solve
this, all values must be stored as a union that contains the actual type
as well as the null type.

Unions were not implemented in the maxavro library but implementing means
simply recursing one level down.
2018-11-05 13:37:29 +02:00
Markus Mäkelä
7f36ec83da
MXS-2095: Add runtime detection of unknown SQL
If the query statement is wrongly treated as a table creation statement it
could cause a crash. To handle this, unknown SQL is now reported and the
processing is stopped early. This does not solve the root cause of the
problem but makes it possible to detect it in the future.
2018-11-05 13:37:28 +02:00