The tee filter now uses the local client class to clone the queries. This
imposes some restrictions on how the filter can be used but also makes
MaxScale as a whole more robust.
The local client class handles a network connection to a local service. It
is meant to be used with the tee filter so that the internal cloning of
DCBs can be removed.
The local client class connects to a port on the local host. This requires
that the user connecting to the tee filter has adequate grants to connect
locally to a MaxScale service.
After authentication for the local client is complete, the client will
pipe all queries to the service while ignoring any responses it
generates. This could be expanded so that a special handler would be given
as an argument. The handler would then handle the responses to the
queries.
Refactored the backend authentication functions so that they can be
exposed to the tee filter. This allows the tee filter to use the same
functions as the protocol modules use without having to reimplement them
inside the tee filter.
Allowing requests to be converted to raw HTTP requests allows them to be
propagated to other instances of MaxScale. This should allow multiple
MaxScales to perform the same action in a coherent manner.
A simple clustering mechanism needs to be added to make MaxScale aware of
other instances.
The module command self links now point to an endpoint that executes the
module command. Depending on the type of the module command, either a GET
or a POST request must be made.
Similar to commit c798961f211cd4435087bd4e005e9b89f3ec325d.
The CMP0026 policy causes the build to fail on CMake 2.8.12 and it isn't critical
to the functionality of the library.
Some additions to config.cc will require a recent version of PCRE2.
The system libraries may not be up to date. The pcre2 source is
bundled with MaxScale anyway, so using it is a simple way of controlling
the library version.
Explicitly specify the library location for the configure script. This
should prevent problems with different library paths that the configure
script can generate.
Moved distribution specific commands to a new quickstart section, added a
copy-and-paste section for the generic commands. This should make it easier
to do a generic installation of MaxScale on a supported system.
A quoted string is a string enclosed in '"':s. This makes it clear
where the string begins and ends, avoiding ambiguity with whitespace.
After the config file has been loaded, the '"':s at the beginning
and at the end of the string are erased. Querying the config value
with config_get_string() will return this de-quoted value.
For example, if the config file reads 'my_string="test""', the actual
string will be 'test"'.
Files are saved in GTID repo at creation time: this allows to show
files without transactions via SHOW [FULL] BINARY LOGS
The FULL keywords add domain_id and server id to the output as file
prefix: 0/10122/mysql-bin.000080
The /maxscale/ resource now supports PUT requests which modify core
parameters. As not all parameters can be changed at runtime, only
modifications to parameters that support runtime configuration are
allowed.