MaxCtrl seems to have relied on an implicit dependency which, for whatever
reason, broke only recently. Since we require() it, we should declare it
as a dependency.
Every change to MariaDB Enterprise should be tested with Maxscale.
Maxscale should be stable - installed from production repository.
New enviromental variable 'maxscale_product' is introduced.
It can be 'maxscale' or 'maxscale_ci' (default is 'maxscale_ci')
The LimitCORE command already sets the process core size limit so the
post-start command appears to be useless. In addition, it appears to fail
from time to time due to pidof failing to return the process ID of
MaxScale right as it starts. This in turn results in an unexplainable
failure to start with no messages logged anywhere with the exception of
the following from systemctl:
[vagrant@maxscale build]$ sudo systemctl status maxscale
● maxscale.service - MariaDB MaxScale Database Proxy
Loaded: loaded (/usr/lib/systemd/system/maxscale.service; disabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Wed 2020-12-16 21:16:55 CET; 26s ago
Process: 304024 ExecStartPost=/bin/sh -c prlimit -p $(pidof maxscale) --core=unlimited (code=exited, status=1/FAILURE)
Process: 304003 ExecStart=/usr/bin/maxscale (code=exited, status=0/SUCCESS)
Process: 304001 ExecStartPre=/usr/bin/install -d /var/lib/maxscale -o maxscale -g maxscale (code=exited, status=0/SUCCESS)
Process: 303999 ExecStartPre=/usr/bin/install -d /var/run/maxscale -o maxscale -g maxscale (code=exited, status=0/SUCCESS)
Main PID: 304004 (code=exited, status=0/SUCCESS)
When the tokenizer encounters a keyword, it sniffs whether the
last non-whitespace character before it happens to be a '.' and
if it is, the keyword is assumed to be the second part of a
qualified name.
Thus, before this commit
-- blah.
UPDATE ...
would not be parsed as KEYWORD (UPDATE) followed by stuff, but as
an ID (blah.UPDATE) followed by stuff.
With this change, newlines are no longer counted as whitespace.
A \n encounted in a string given to the query classifier test
program compare, is not converted into a newline. Makes it easier
to debug problems related to newlines.
During switchover/failover, server events are altered. The ALTER
EVENT command automatically modifies the event charset and collation
to the values of the connetion running the query. This may cause
the event to become invalid.
Fixed this by changing connection charset and collation to the ones
in the event description just before altering it.
The current code assumes that the variable names are in lowercase. This
fixes the galera monitoring that was broken by commit
43068d20b43a34d5f3b4b4db0fcce701b3cd7cad. In addition, lowercase names
also helps when comparisons are done with std::string.
config_test expects Maxscale start failure, but ssh to
Maxscale node also fails if VM is broken.
Test should fail in case of VM problem to prevent
Maxscale problem hiding.