8102 Commits

Author SHA1 Message Date
Markus Mäkelä
8fb1137ef0 MXS-1300: Add usage to all commands
Added usage instructions for all commands. If the generated usage is used
with the `pkg` packager, it will contain generated script names which are
confusing.
2017-07-10 22:23:44 +03:00
Markus Mäkelä
4cf17bc450 MXS-1300: Add set and clear commands
The manipulation of server status is now possible with the set and clear
commands.
2017-07-10 22:23:44 +03:00
Markus Mäkelä
38930e198d MXS-1300: Fix duplicated options
Moved the option declaration to the main source file. Added default
functions for all modules to catch unknown command invokations. Cleaned up
and exposed more ways to use the doRequest function.
2017-07-10 22:23:44 +03:00
Markus Mäkelä
63d2eee0e3 MXS-1220: Add endpoint for set/clear of server status
The server status can now be manipulated via the REST API. Added tests for
the state manipulation. Fixed minor issues in related code.
2017-07-10 22:23:44 +03:00
Markus Mäkelä
c189378389 MXS-1330: Pair header names with resource paths
The getCollection and getResource now use similar mechanisms to declare
the names and values for the tables.
2017-07-10 22:23:44 +03:00
Markus Mäkelä
1148ed9876 MXS-1300: Add initial implementation of MaxCtrl
This is the administrative client that uses the REST API to communicate
with MaxScale. It is written in Node.js as it can handle the JSON format
data returned by the REST API natively. Currently only list and show
functionality is implemented.
2017-07-10 22:23:43 +03:00
Markus Mäkelä
61241f9e07 Remove old feedback system
The feedback system wasn't used and was starting to cause problems on
Debian 9 where the libcurl required different version of OpenSSL than what
MaxScale was linked against.
2017-07-10 16:03:50 +03:00
MassimilianoPinto
33e1878fe1 MXS-1302: addition of CaptureRule class
Addition of CaptureRule class, derived from Rule class
2017-07-10 14:10:21 +02:00
MassimilianoPinto
f10cc156a5 MXS-1302: added tests for "obfuscate"
Tests updated
2017-07-10 13:47:29 +02:00
MassimilianoPinto
f3547d14a1 Masking filter: removed create_rule_from_elements() routines
Masking filter cleanup: create_rule_from_elements() removed.
2017-07-10 09:49:20 +02:00
MassimilianoPinto
e70852d10b Code cleanup in ReplaceRule::create_from()
Code cleanup in ReplaceRule::create_from()
2017-07-10 09:49:20 +02:00
Markus Mäkelä
deef6bb030 Extend text protocol PS test
The test now checks that text protocol prepared statements are load
balanced just like normal queries.
2017-07-08 08:15:42 +03:00
MassimilianoPinto
8b5c6f7286 Merge branch 'MXS-1302' into develop 2017-07-07 17:37:16 +02:00
MassimilianoPinto
9490af2fb1 MXS-1302: Addition of ObfuscateRule derived class and 'obfuscation' rule
New rule ‘obfuscate’ is being added:
{
"obfuscate": {
"column": “p_name”,
"database": "test",
"table": "masking"
}
},
"applies_to": [ ... ],
"exempted": [ ... ]
2017-07-07 17:31:37 +02:00
MassimilianoPinto
b26e2d8189 MXS-1302: masking filter value replacement is done by new ReplaceRule, derived form base class Rule
The value replacement is now done by new ReplaceRule, derived form base
class Rule
2017-07-07 15:02:59 +02:00
Markus Mäkelä
96b98845a2 Allow filters to be used with binlogrouter
Filters can now be used with the binlogrouter to modify the contents of
the binlog stream now that the correct function call is used.
2017-07-07 10:37:30 +03:00
Markus Mäkelä
54c6e0eb52 Increase verbosity and timeouts in bug662
The test restarts MaxScale while all backends are blocked. This will cause
MaxScale to wait until all connections to all servers time out which can
take a while.

Added a separate config for the test and lowered the timeouts. Also
inreased test timeouts.
2017-07-06 14:01:51 +03:00
Markus Mäkelä
61cfd92510 Stop replication before configuring binlogrouter
The replication needs to be stopped before the binlogrouter is started. If
the replication is stopped after this, it is possible that two servers
with the same value of server_id attempt to register as slaves which
causes the later of them to fail.
2017-07-06 13:54:59 +03:00
Markus Mäkelä
22d47aab52 Print the JSON in avro_alter
The test now prints the output in avro_alter. The replicate_from_master
function also stops maxscale before removing the files.
2017-07-06 13:31:38 +03:00
Markus Mäkelä
ef73f3e217 Merge branch '2.1' into develop 2017-07-06 11:25:36 +03:00
Markus Mäkelä
66048cf094 Add 2.1.5 release notes
Added release notes for 2.1.5.
2017-07-06 11:03:44 +03:00
Markus Mäkelä
9618e63b5f MXS-1310: Add deterministic conflict resolution
The schemarouter can now resolve database mapping conflicts in a
deterministic manner. This will fix the problem of central databases which
are replicated shards being assigned in a non-deterministic manner.
2017-07-05 19:19:49 +03:00
Markus Mäkelä
a23e81c438 Add test for MXS-1310
Added test that checks how the use of implicit databases is handled in
schemarouter.
2017-07-05 08:42:52 +03:00
Markus Mäkelä
0c33572a96 MXS-1310: Detect implicit database usage
When the current database is implicitly used in a query that also uses an
explicit database, it must be routed to the shard which has the current
database.

As cross-shard joins are not supported, the safest, and possibly the most
expected course of action to take, is to route it to the so-called default
shard. The default shard is the shard that contains the database that is
currently set as the active database with a COM_INIT_DB, a text protocol
USE <database> query or it was set at connection time.
2017-07-04 23:21:04 +03:00
Markus Mäkelä
c6b579619a MXS-1310: Route implicit table queries to the current shard
When a query that implicitly uses the current database is detected, it
will be routed to the shard which has the current database.
2017-07-04 23:04:27 +03:00
Markus Mäkelä
374c204a04 Only print text protocol statements in schemarouter
The schemarouter info level logging treated all queries as something that
contain SQL statements. This, for somewhat obvious reasons, cannot be
expected.
2017-07-04 22:26:24 +03:00
Markus Mäkelä
71bc67b694 Use unordered_map in schemarouter
The shard map doesn't have to be in order and an unordered map will do
just fine.
2017-07-04 13:01:04 +03:00
Markus Mäkelä
11d494ef33 Fix avro CREATE TABLE message
The string was assumed to be null-terminated when in reality it was not.
2017-07-04 12:40:22 +03:00
Markus Mäkelä
285086ba7c Fix ALTER TABLE regression in avrorouter
The avrorouter failed to detect ALTER TABLE statements which caused a
regression. Extended the alter table tests to parse the JSON for more
strict validation of test results.
2017-07-04 12:40:22 +03:00
Markus Mäkelä
26bbac6ea5 Add MXS-1308 to release notes
Added MXS-1308 to release notes.
2017-07-04 12:40:22 +03:00
Markus Mäkelä
412a6066dd Update release date 2017-07-04 12:40:22 +03:00
Markus Mäkelä
5f8c426578 MXS-1308: Fix crash with multimaster=true
The multimaster node detection uses stacks to sort the node groups. The
size of this stack was always assumed to be positive but it was possible
that it dropped down to -1 causing a crash when the stack was accessed
with the index number.
2017-07-04 12:40:22 +03:00
Markus Mäkelä
e39cbd8878 Fix connect_to_nonexisting_db
The test dropped the 'test' database which is heavily used both for
checking functionality and running tests. A better alternative is to use a
custom database that is only used by this test.
2017-07-04 12:40:22 +03:00
Markus Mäkelä
5ed6483f01 Fix avro CREATE TABLE message
The string was assumed to be null-terminated when in reality it was not.
2017-07-04 12:21:25 +03:00
Markus Mäkelä
5c50045227 Fix ALTER TABLE regression in avrorouter
The avrorouter failed to detect ALTER TABLE statements which caused a
regression. Extended the alter table tests to parse the JSON for more
strict validation of test results.
2017-07-04 09:31:11 +03:00
MassimilianoPinto
729e9dbbae Added FAKE_ROTATE event info log
Added FAKE_ROTATE event info log.

Changed: log of Request file and pos only if the binlog_name is not
empty (it can be empty when setting the GTID value before CHANGE MASTER
TO)
2017-07-03 18:14:20 +02:00
Markus Mäkelä
e181241f45 Print maxavrocheck errors to stderr
The errors should be printed to stderr to distinct them from actual
messages.
2017-07-03 17:08:39 +03:00
Markus Mäkelä
5a26d17fcf Fix master server version checks in tests
The master server version was not processed adequately and false positives
of old master versions were possible.
2017-07-03 17:08:39 +03:00
Markus Mäkelä
c952b6805e Add MXS-1308 to release notes
Added MXS-1308 to release notes.
2017-07-03 14:23:21 +03:00
Markus Mäkelä
d4a51a048a Update release date 2017-07-03 13:46:10 +03:00
Markus Mäkelä
ff22243955 MXS-1308: Fix crash with multimaster=true
The multimaster node detection uses stacks to sort the node groups. The
size of this stack was always assumed to be positive but it was possible
that it dropped down to -1 causing a crash when the stack was accessed
with the index number.
2017-07-03 02:44:37 +03:00
Markus Mäkelä
31504585fc Fix connect_to_nonexisting_db
The test dropped the 'test' database which is heavily used both for
checking functionality and running tests. A better alternative is to use a
custom database that is only used by this test.
2017-06-30 18:41:13 +03:00
Johan Wikman
f7bd195e9f MXS-1248: Add CTE tests
All cte tests from the server
2017-06-30 13:01:14 +02:00
Johan Wikman
d060320b36 MXS-1248: Further modifications for CTE
- Fields in CTEs are marked as being used in subselects.
- In qc_mysqlembedded all selects must be walked if CTE is present.
- In qc_sqlite unions need special handling.
2017-06-30 12:49:28 +02:00
Johan Wikman
b5d54292a4 Fix merge error 2017-06-30 11:07:00 +02:00
Johan Wikman
7297ae129c MXS-1248: Pointer value alone does not tell validity
The pointer pointing to a recursive select may be non-null even
if it is not valid. The specific boolean must be checked as well.
2017-06-30 11:05:15 +02:00
MassimilianoPinto
7913f0ddf1 Develop Merge
Develop Merge
2017-06-30 10:48:13 +02:00
MassimilianoPinto
086e7abe77 CentOS 6 compile issues fixed
CentOS 6 compile issues fixed
2017-06-30 10:45:30 +02:00
MassimilianoPinto
2c5aaeff0e Develop Merge
Develop Merge
2017-06-30 10:14:45 +02:00
Markus Mäkelä
44900882a5 Merge branch '2.1' into develop 2017-06-30 11:11:34 +03:00