MXS-1267: Fix tee filter test results
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.
This commit is contained in:
parent
e32937c8f2
commit
e64e24a819
@ -96,7 +96,6 @@ int main(int argc, char *argv[])
|
||||
Test->close_maxscale_connections();
|
||||
|
||||
Test->check_log_err((char *) "Couldn't find suitable Master from 2 candidates", true);
|
||||
Test->check_log_err((char *) "Creating client session for Tee filter failed. Terminating session.", true);
|
||||
|
||||
int rval = Test->global_result;
|
||||
delete Test;
|
||||
|
@ -73,9 +73,6 @@ int main(int argc, char *argv[])
|
||||
|
||||
Test->check_log_err((char *) "Couldn't find suitable Master from 2 candidates", true);
|
||||
Test->check_log_err((char *) "Failed to create new router session for service 'RW_Split'", true);
|
||||
Test->check_log_err((char *) "Creating client session for Tee filter failed. Terminating session.", true);
|
||||
Test->check_log_err((char *) "Failed to create filter 'DuplicaFilter' for service 'RW_Router'", true);
|
||||
Test->check_log_err((char *) "Setting up filters failed. Terminating session RW_Router", true);
|
||||
|
||||
int rval = Test->global_result;
|
||||
delete Test;
|
||||
|
97
maxscale-system-test/cnf/maxscale.cnf.template.bug657
Executable file
97
maxscale-system-test/cnf/maxscale.cnf.template.bug657
Executable file
@ -0,0 +1,97 @@
|
||||
[maxscale]
|
||||
threads=###threads###
|
||||
log_warning=1
|
||||
|
||||
[MySQL Monitor]
|
||||
type=monitor
|
||||
module=mysqlmon
|
||||
###repl51###
|
||||
servers= server1, server2,server3 ,server4
|
||||
user=maxskysql
|
||||
passwd= skysql
|
||||
monitor_interval=1000
|
||||
|
||||
[RW Split Router]
|
||||
type=service
|
||||
router= readwritesplit
|
||||
servers=server1, server2, server3,server4
|
||||
user=maxskysql
|
||||
passwd=skysql
|
||||
|
||||
[Read Connection Router Slave]
|
||||
type=service
|
||||
router=readconnroute
|
||||
router_options= slave
|
||||
servers=server1,server2,server3,server4
|
||||
user=maxskysql
|
||||
passwd=skysql
|
||||
filters=TEE
|
||||
|
||||
[Read Connection Router Master]
|
||||
type=service
|
||||
router=readconnroute
|
||||
router_options=master
|
||||
servers=server1,server2,server3,server4
|
||||
user=maxskysql
|
||||
passwd=skysql
|
||||
filters=TEE
|
||||
|
||||
[TEE]
|
||||
type=filter
|
||||
module=tee
|
||||
service=RW Split Router
|
||||
|
||||
[RW Split Listener]
|
||||
type=listener
|
||||
service=RW Split Router
|
||||
protocol=MySQLClient
|
||||
port=4006
|
||||
#socket=/tmp/rwsplit.sock
|
||||
|
||||
[Read Connection Listener Slave]
|
||||
type=listener
|
||||
service=Read Connection Router Slave
|
||||
protocol=MySQLClient
|
||||
port=4009
|
||||
|
||||
[Read Connection Listener Master]
|
||||
type=listener
|
||||
service=Read Connection Router Master
|
||||
protocol=MySQLClient
|
||||
port=4008
|
||||
|
||||
[CLI]
|
||||
type=service
|
||||
router=cli
|
||||
|
||||
[CLI Listener]
|
||||
type=listener
|
||||
service=CLI
|
||||
protocol=maxscaled
|
||||
|
||||
socket=default
|
||||
|
||||
[server1]
|
||||
type=server
|
||||
address=###node_server_IP_1###
|
||||
port=###node_server_port_1###
|
||||
protocol=MySQLBackend
|
||||
|
||||
[server2]
|
||||
type=server
|
||||
address=###node_server_IP_2###
|
||||
port=###node_server_port_2###
|
||||
protocol=MySQLBackend
|
||||
|
||||
[server3]
|
||||
type=server
|
||||
address=###node_server_IP_3###
|
||||
port=###node_server_port_3###
|
||||
protocol=MySQLBackend
|
||||
|
||||
[server4]
|
||||
type=server
|
||||
address=###node_server_IP_4###
|
||||
port=###node_server_port_4###
|
||||
protocol=MySQLBackend
|
||||
|
@ -2,7 +2,6 @@
|
||||
|
||||
# $1 - test name
|
||||
# $2 - time mark (in case of periodic logs copying)
|
||||
set -x
|
||||
|
||||
if [ -z $1 ]; then
|
||||
echo "Test name missing"
|
||||
|
@ -50,9 +50,9 @@ LocalClient::~LocalClient()
|
||||
|
||||
bool LocalClient::queue_query(GWBUF* buffer)
|
||||
{
|
||||
GWBUF* my_buf = gwbuf_clone(buffer);
|
||||
GWBUF* my_buf = NULL;
|
||||
|
||||
if (my_buf)
|
||||
if (m_state != VC_ERROR && (my_buf = gwbuf_clone(buffer)))
|
||||
{
|
||||
m_queue.push_back(my_buf);
|
||||
|
||||
|
@ -241,14 +241,12 @@ static void setUpstream(MXS_FILTER *instance, MXS_FILTER_SESSION *session, MXS_U
|
||||
static int routeQuery(MXS_FILTER *instance, MXS_FILTER_SESSION *session, GWBUF *queue)
|
||||
{
|
||||
TeeSession *my_session = reinterpret_cast<TeeSession*>(session);
|
||||
int rval = 0;
|
||||
|
||||
if (my_session->passive || my_session->client->queue_query(queue))
|
||||
{
|
||||
rval = my_session->down.routeQuery(my_session->down.instance,
|
||||
int rval = my_session->down.routeQuery(my_session->down.instance,
|
||||
my_session->down.session,
|
||||
queue);
|
||||
}
|
||||
|
||||
my_session->client->queue_query(queue);
|
||||
|
||||
return rval;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user