Break lines at 80 characters. Add a Table of Contents and reorder sections
to have the actual tutorial part first.
Things that still need doing:
* Move limitations and other documentation to the actual router
documentation
* Review and simplify examples
Updated all examples to use parameters instead of router_options. Added a
more clear note about router_options being deprecated. Removed unnecessary
parameters from all examples.
The usage of the router_options has become optional in 2.1. This means
that the binlogrouter should not fail to start if no router_options are
defined.
Also lowered the error about master.ini to a warning as it is expected to
happen on a fresh installation.
MXS-1530: check ANNOTATE_ROWS flag in connecting slave.
In MariaDB 10.2.4 replicate_annotate_row_events and
binlog_annotate_row_events have default to ON: this change checks
whether the connecting slave is not has ANNOTATE_ROWS in
blr_slave_binlog_dump(), those ANNOTATE_ROWS events can be sent or not
to the slave.
Sending an error to the client allows the connector to show more
information to the user when the DCB is closed due to a reason internal to
MaxScale.
The error message states that the connection was killed by MaxScale to
distinct it from the error sent by the server. The error number and SQL
state are still the same as both errors should be treated the same way.
The new `ssl_verify_peer_certificate` parameter controls whether the peer
certificate is verified. This allows self-signed certificates to be
properly used with MaxScale.
This builds on commit 1287b0e595a5f99026f66df7eeaef091b8ffc774 and cleans
up the original code. This fixes a bug introduced in the aforementioned
commit and cleans up the code.
The authentication code assumed that the initial request only had
authentication related data. This is not true if the client library
predicts that the authentication will succeed and it sends a query right
after it sends the authentication data.
As the Avro C API depends on the Jansson library, the build scripts must
build it. This is not optimal as the Jansson version needs to be updated
in two places.
Currently binlog server doesn't send to slaves these event types:
- MARIADB10_START_ENCRYPTION_EVENT
- IGNORABLE_EVENT
It also skips events with LOG_EVENT_IGNORABLE_F flag.
This modification allows sending events with that flag.
The CMake files in MaxScale automatically download the correct version of
the Jansson library when it is configured. The build scripts used the
default branch which can change.
When servers were added to monitors that were created at runtime, the
server list serialization overwrote the original persisted configuration
of the monitor. To solve this problem, the serialization of the server
list and the monitor parameters were combined.
The total timeout for the retrying of interrupted queries can now be
configured with the `query_retry_timeout` parameter. It controls the total
timeout in seconds that the query can take.
The actual connection, read and write timeouts of the connector aren't a
good configuration value to use for abstracted queries as the time that it
takes to execute a query can be composed of both connections, reads and
writes. This is caused by the usage of MYSQL_OPT_RECONNECT that hides the
fact that the connector reconnects to the server when a query is
attempted.
The new `query_retries` parameter controls how many times an interrupted
query is retried. This retrying of interrupted queries will reduce the
rate of false positives that MaxScale monitors detect.
The test now skips execution of inserts to separate nodes. This should
guarantee that the nodes are synced at all times.
The test now does the inserts and selects inside a transaction to force
the reads to the same node where the inserts are done.
The tests now print a stack trace to standard output if it receives a
fatal signal. This will help debug test failures caused by broken tests
and unexpected results.
The mm test was on the heavy side and the workload can be reduced for the
sake of testing only the functionality.
The mm_mysqlmon test did not check the initial state of the
server. Although not necessary, adding it will help detect test failures
caused by broken replication.
mxs1457_ignore_deleted did not stop the monitors before breaking the
replication and attempting to use MaxScale. As the test expects
authentication to work regardless of the actual state of the servers, the
monitors need to be disabled before a query is attempted.
The ssh_node function now supports printf style arguments. This is used to
simplify command execution on the nodes.
Curreltny, in addition to its old usage, it is used to drop extra
databases when replication is started.