It is worth documenting this change as the amount of queries done by
MaxScale is likely to decrease by a significant amount. This change can
also have a negative effect on the worst-case delay of the database
mapping but this isn't really a practical problem.
The fact that the parameter does nothing in 2.4 and newer versions is now
at least documented. Fixing it this late in 2.4 could result in unwanted
changes in behavior.
Documented readconnroute and schemarouter router diagnostics. The
duplicated fields that are already in the general service diagnostic
output are not documented with the hopes that they can be eventually
removed.
When a temporary table is created with a multi-statement query, it won't
be detected by MaxScale.
Also removed the wrong limitations section from the document.
causal_reads does not work with servers that update their state via
mechanisms other than the standard replication. In practice this is just
another Galera limitation.
The settings "match", "exclude" and "options" are now explained once
in the general documentation. The individual filter documentation refers
to the general explanation.
The documentation stated that MVCC reads weren't safe with
transaction_replay when in reality they are not safe in general and
transaction_replay has no effect on it.
Queries such as SHOW TABLES FROM db1 are now routed to the backend with db1.
This gives the correct result as long as db1 is not sharded to multiple
backends.
The lazy connection creation reduces the burden that short sessions place
on the backend servers. This also prevents the problems caused by early
disconnections that happen when only one server is used but multiple
connections are created. This does not solve the problem (MXS-619) but it
does mitigate it to acceptable levels.
This commit also adds a change to the weighting algorithm that prefers
existing connections over unopened ones. This helps avoid the
flip-flopping that happens when the absolute scores are very similar. The
hard-coded value might need to be tuned once testing is done.