12989 Commits

Author SHA1 Message Date
Esa Korhonen
ed3548b825 MXS-2770 Fix mxs2167_extra_port
1) Only two backends are set up for extra-port
2) The setting is checked to work by connecting directly to servers
3) The server connections are saturated before starting MaxScale
4) MaxScale logs are checked for extra-port-related messages
2019-11-18 13:31:29 +02:00
Johan Wikman
c6364acaec Revert "Build and test in parallel"
This reverts commit 9e931918e2441b619281fd5e96979f35c8b402f9.
2019-11-13 08:33:09 +02:00
Johan Wikman
d282d7c93f Merge branch '2.3.14' into 2.3 2019-11-12 09:19:27 +02:00
Johan Wikman
133a947bb5 Update 2.3.14 release date 2019-11-12 09:10:21 +02:00
Johan Wikman
5a8564628f Merge branch '2.3.14' into 2.3 2019-11-12 08:41:58 +02:00
Johan Wikman
d37b79d835 Update 2.3 maintenance number 2019-11-12 08:36:44 +02:00
Johan Wikman
27417b5328 Add 2.3.14 release notes and update change log 2019-11-11 09:11:51 +02:00
Markus Mäkelä
9e931918e2
Build and test in parallel
This speeds up builds when more CPUs are available. Also removed redundant
docker installation: mdbci already installs it.
2019-11-11 09:10:42 +02:00
Markus Mäkelä
638d1bf354
MXS-2760: Fix ssl_version conversion
The value is now correctly converted to the enum values.
2019-11-11 09:05:46 +02:00
Johan Wikman
71e1f81adc .gitignore: Add more stuff to ignore 2019-11-08 14:07:47 +02:00
Markus Mäkelä
5c4ac03c07
Log a message in readconnroute's handleError
This way there's trace that something unexpected happened and that the
session closed unexpectedly.
2019-11-08 13:44:21 +02:00
Johan Wikman
6cba7e8201 MXS-2732 Recognize character set names
In the tokenizer we will now recognize the character set names
of MariaDB and return a specific token for those. However, where
a character set name is not expected, it will automatically be
treated as an identifier.

Note that when the character set name is explicitly specified
for a literal string, the name must be prefixed with an underscore.
That is, if the character set name is "latin1", when used when
specifying a literal string, it's used as "_latin1 'a'".

Note that this does not fix the sqlite3 bug causing a leak, but
since the statement will now correctly be parsed, the leak will
not manifest itself.
2019-10-31 16:09:52 +02:00
Johan Wikman
177d95c3bc MXS-2732 Add test that reveals problem 2019-10-31 15:49:28 +02:00
Johan Wikman
50292c9f45 Merge branch '2.3.13' into 2.3 2019-10-31 10:06:02 +02:00
Johan Wikman
40a4ced21e Update 2.3.13 release date 2019-10-31 10:03:00 +02:00
Johan Wikman
88e0c3dc37 MXS-2732 Remove old sqlite-src-3110100 directory 2019-10-30 12:05:53 +02:00
Johan Wikman
4af67e95ff MXS-2732 Take newly installed sqlite3 into use
No code differences, but the used sqlite has now been installed
in one single commit.
2019-10-30 11:36:04 +02:00
Johan Wikman
c2a601bcf5 MXS-2732 Add MaxScale sqlite3 changes
This commit contains all MaxScale changes that have been made
to sqlite3 version 3110100.
2019-10-30 11:28:39 +02:00
Johan Wikman
d2db25073b MXS-2732 Update sqlite3 tool mkopcodeh.tcl from 3200000
The mkopcodeh.tcl of sqlite3 version 3110100 has a bug that
manifests itself so that it generates broken code depending on
what keywords there are and in what order. The mkopcodeh.tcl
from 3200000 does not have that problem.
2019-10-30 11:22:31 +02:00
Johan Wikman
6df8fb2497 MXS-2732 Add sqlite3 version 3110100 2019-10-30 10:58:24 +02:00
Johan Wikman
81e78726eb MXS-2732 Rename sqlite-src-3110100 to sqlite-src-3110100.old
Originally, the sqlite installation was imported into the MaxScale
repository in the one gigantic MaxScale 1.4 -> 2.0 commit.

Consequently, there is no import commit to compare to if you want
to extract all MaxScale specific changes. To make it simpler in the
future, sqlite will now be imported in a commit of its own.
2019-10-30 10:58:24 +02:00
Markus Mäkelä
290d38c67f
Document ColumnStore requirements for authentication
One extra grant is required if the backend servers use ColumnStore
binaries.
2019-10-30 09:17:46 +02:00
Johan Wikman
363498ef6b Update 2.3 maintenance number 2019-10-29 13:01:14 +02:00
Johan Wikman
df6c56e7ca Update 2.3.13 Change Date 2019-10-29 12:51:31 +02:00
Johan Wikman
cde0060a20 2.3.13: Add release notes and update change log 2019-10-29 12:29:51 +02:00
Markus Mäkelä
ac5b5d527a
MXS-2610: Prevent watchdog timeouts in avrorouter
The file processing can take a very long time and as it is done on a
routing worker, the workaround needs to be used.
2019-10-29 11:33:10 +02:00
Markus Mäkelä
195a016b7c
Rewrite slave_failover
The test now uses the @@server_id server variable to detect which server
is used. This is a lot less error prone than comparing hostnames is.
2019-10-29 11:33:10 +02:00
Johan Wikman
35d3c7084c Put back additional use grant
Accidentally removed.
2019-10-29 11:13:00 +02:00
Johan Wikman
ce477491df Change LICENSE.TXT into a symbolic link
In 2.3 LICENSE.TXT points to LICENSE23.TXT,
in 2.4 it will point to LICENSE24.TXT, and
in 2.5, aka develep, it will point to LICENSE25.TXT.
2019-10-29 10:48:46 +02:00
Johan Wikman
fd4a0cfe1f Add LICENSE23.TXT
So as to allow the change date to be update at each maintenance
release, we need to have a separate license for each minor release.
In each minor branch there will then be a LICENCE.TXT symbolic link
that points to the actual file.
2019-10-29 10:48:11 +02:00
Johan Wikman
82826f2de5 MXS-2733 Add fix that fixes the problem
UTC_TIMESTAMP() was missing from the list of builtin functions.
2019-10-29 09:26:41 +02:00
Johan Wikman
d3407471b3 MXS-2733 Add test that reveals problem 2019-10-29 09:26:41 +02:00
Markus Mäkelä
54fc154137 Regenerate MaxCtrl documentation
Generated the new MaxCtrl documentation with the new help output. The help
output now doesn't auto-wrap which causes lines to be longer but it
prevents broken Markdown formatting. It also makes it more readable on
wider terminals.
2019-10-29 09:26:41 +02:00
Markus Mäkelä
d0114d9d48 MXS-2712: Fix field description generation
Longer descriptions broke the formatting. The output is now also formatted
as a Markdown table which makes it work in the generated documentation.
2019-10-29 09:26:41 +02:00
Markus Mäkelä
446a3fac15 MXS-2720: Fix service session count
The number of sessions wasn't always incremented but it was always
decremented. This happened primarily when authentication failed. By making
the management of the counters a part of the object lifecycle, this
problem goes away.
2019-10-29 09:26:41 +02:00
Markus Mäkelä
26a56f48b2 MXS-2720: Assert that client count is non-negative 2019-10-29 09:26:41 +02:00
Markus Mäkelä
64cae223f0 MXS-2721: Check that LocalClient creation succeeds
The creation can fail if a network socket cannot be opened and connected
to the host in question.
2019-10-29 09:26:41 +02:00
Markus Mäkelä
cf8ff493bc Add query canonicalization profiling
A small helper program like this helps figure out performance problems
with the function.
2019-10-29 09:26:41 +02:00
Markus Mäkelä
8258e14bfe Add minor optimizations to get_canonical
Requiring contiguous buffers removes the need to use mxs::Buffer which
also removes the need to check for buffer boundaries.

Converted all the functions used by get_canonical into `static inline` so
that the compiler knows it can inline them. A few of them weren't `static`
which made the calls to the functions unnecessarily expensive.
2019-10-29 09:26:41 +02:00
Markus Mäkelä
7f41bfa5f8 Fix minor defect in get_canonical
The backslash was added instead of assigned. Since the value stored at
that position is always a null byte, assignment and addition would result
in the same outcome.
2019-10-29 09:26:41 +02:00
Markus Mäkelä
c20c6e8406 MXS-2712: Add descriptions to list and show commands
The help output of all the list and show commands now explains what each
field in the output table means. The generated table will be added at the
end of the help output.

The descriptions table looks like this:

  Field         Description
  -----         -----------
  Version       MaxScale version
  Commit        MaxScale commit ID
  Started At    Time when MaxScale was started
  Activated At  Time when MaxScale left passive mode
  Uptime        Time MaxScale has been running
  Parameters    Global MaxScale parameters
2019-10-29 09:26:41 +02:00
Markus Mäkelä
cc1c1f9c98 MXS-2712: Remove Blocking Polls from show threads
The value was never defined and was always empty.
2019-10-29 09:26:41 +02:00
Markus Mäkelä
4393de42f1 MXS-2712: Move field definitions out of functions
The fields are now defined separately and no longer use the object keys as
the names of the values. This makes it clearer as to what the field
definition actually is. Following commits will add a description key into
each object that makes it possible to easily build help output.
2019-10-29 09:26:41 +02:00
Markus Mäkelä
9400165376 Cherry-pick: Make maxctrl rebuild when sources change
Cherry-picked 12e6ada259c38d535003c068a49bc525c33830d8 into 2.3.

Since the maxctrl build process uses add_custom_command, we must
explicitly list the sources that it depends on. With this change, maxctrl
is rebuild whenever the sources change.
2019-10-29 09:26:41 +02:00
Markus Mäkelä
d6eb73c9ee MXS-2639: Fix maxinfo memory leak
The JSON version didn't call json_decref on the object it created.
2019-10-29 09:26:41 +02:00
Markus Mäkelä
c609042874 MXS-2706: Fix maxinfo JSON output
The output now correctly formats integers.
2019-10-29 09:26:41 +02:00
Johan Wikman
e7e40b0179 MXS-2713 Classify SET PASSWORD as QUERY_TYPE_WRITE
A change of the password is replicated to the slaves, so it
must only be sent to the master.
2019-10-07 14:33:53 +03:00
Johan Wikman
2a7f320cf4 MXS-2713 Add test that reveals problem 2019-10-07 14:24:06 +03:00
Esa Korhonen
c54e254ea0 MXS-2645 Add test case to connection_limit test
Tests max_connections with repeated failed logins.
2019-10-04 15:11:09 +03:00
Esa Korhonen
428bc5740b MXS-2645 Decrement service client count also when authentication fails
The client count was incremented before authentication was complete, and
should be decremented if it fails. Otherwise service connection limit can
be easily reached.
2019-10-04 15:11:09 +03:00