60 lines
1.6 KiB
C++
60 lines
1.6 KiB
C++
/**
|
|
* @file bug711.cpp bug711 regression case (Some MySQL Workbench Management actions hang with R/W split
|
|
* router)
|
|
* - configure rwsplit with use_sql_variables_in=all
|
|
* - try SHOW GLOBAL STATUS with all maxscales->routers[0]
|
|
* - check if Maxscale is still alive
|
|
*/
|
|
|
|
/*
|
|
* Massimiliano 2015-01-29 15:35:52 UTC
|
|
* Some MySQL Workbench Management actions hang with R/W split router
|
|
*
|
|
* MySQL Workbench 6.2 on OSX
|
|
*
|
|
*
|
|
* When selecting "Users and Privileges" the client gets hanged.
|
|
*
|
|
*
|
|
*
|
|
* The quick solution is setting "use_sql_variables_in" in MaxScale config file for R/W split router section
|
|
*
|
|
* [RW_Split]
|
|
* type=service
|
|
* router=readwritesplit
|
|
* servers=server3,server2
|
|
* user=massi
|
|
* passwd=xxxx
|
|
*
|
|
* use_sql_variables_in=master
|
|
*
|
|
*
|
|
*
|
|
* This way everything seems ok
|
|
*
|
|
*/
|
|
|
|
|
|
#include <iostream>
|
|
#include <unistd.h>
|
|
#include "testconnections.h"
|
|
|
|
using namespace std;
|
|
|
|
int main(int argc, char* argv[])
|
|
{
|
|
TestConnections* Test = new TestConnections(argc, argv);
|
|
Test->maxscales->connect_maxscale(0);
|
|
Test->set_timeout(10);
|
|
Test->tprintf("Trying SHOW GLOBAL STATUS against RWSplit\n");
|
|
Test->try_query(Test->maxscales->conn_rwsplit[0], (char*) "SHOW GLOBAL STATUS;");
|
|
Test->tprintf("Trying SHOW GLOBAL STATUS against ReadConn master\n");
|
|
Test->try_query(Test->maxscales->conn_master[0], (char*) "SHOW GLOBAL STATUS;");
|
|
Test->tprintf("Trying SHOW GLOBAL STATUS against ReadConn slave\n");
|
|
Test->try_query(Test->maxscales->conn_slave[0], (char*) "SHOW GLOBAL STATUS;");
|
|
Test->check_maxscale_alive(0);
|
|
int rval = Test->global_result;
|
|
delete Test;
|
|
return rval;
|
|
}
|