The configuration for mxs1323_retry_read now uses shorter timeouts for
monitors. This should help the monitors detect the server failures before
the result of the SELECT returns. also increased the time the query sleeps
before returning.
When a backend is waiting for a response but no statement is stored for
the session, the buffer where the stored statement is copied is not
modified. This means that it needs to be initialized to a NULL value.
Added a test that checks that the behavior works as expected even with
persistent connections. A second test reproduces the crash by executing
parallel SET commands while slaves are blocked.
There is still a behavioral problem in readwritesplit. If a session
command is being executed and it fails on a slave, an error is sent to the
client. In this case it would not be necessary to close the session if the
master is still alive.
The test restarts MaxScale while all backends are blocked. This will cause
MaxScale to wait until all connections to all servers time out which can
take a while.
Added a separate config for the test and lowered the timeouts. Also
inreased test timeouts.
The test seems to fail when executed outside of a debugger. A delay
between creating the connections and checking the connection count appears
to fix the problem.
Refactored the test to use stack allocated objects and favored assertion
style functions over conditional clauses with failing assertions inside
them.
The only difference in the galera template is now in the monitor
definition and in the server address values. This fixes the unexpected
responses that some of the galera mysqltest cases suffer from.
Some tests used galera options that aren't in 2.0 which caused the tests
to fail.
Also added an upper limit to some tests to reduce excessive execution
times.
The tests should no longer expect client session creation to fail if the
branch session creation is not successful.
The main session is kept alive so that a failure in the branch session
does not cause a failure of the main session. The main session can be
considered more important as it is what the client will use. If the branch
session fails, the failure will be logged so no information is lost.
Also added a missing configuration file and removed some extra-verbose
output in a test script.
The only difference in the galera template is now in the monitor
definition and in the server address values. This fixes the unexpected
responses that some of the galera mysqltest cases suffer from.
Some tests used galera options that aren't in 2.0 which caused the tests
to fail.
Also added an upper limit to some tests to reduce excessive execution
times.