Merge branch '2.3' into 2.4

This commit is contained in:
Esa Korhonen
2020-07-28 16:00:02 +03:00
943 changed files with 12 additions and 11 deletions

View File

@ -0,0 +1,39 @@
/**
* MXS-2146: Test case for csmon
*/
#include <maxtest/testconnections.hh>
int main(int argc, char* argv[])
{
TestConnections::require_columnstore(true);
TestConnections test(argc, argv);
// Simple check for correct routing behavior
test.maxscales->connect();
auto slave = get_row(test.maxscales->conn_rwsplit[0], "SELECT @@server_id");
test.try_query(test.maxscales->conn_rwsplit[0], "BEGIN");
auto master = get_row(test.maxscales->conn_rwsplit[0], "SELECT @@server_id");
test.try_query(test.maxscales->conn_rwsplit[0], "COMMIT");
test.expect(slave != master, "Master and slave server_id should be different");
test.maxscales->disconnect();
// Master failures are detected
test.maxscales->connect();
test.repl->block_node(0);
test.expect(execute_query_silent(test.maxscales->conn_rwsplit[0], "SELECT @@last_insert_id") != 0,
"Query should fail when the master is blocked");
test.repl->unblock_node(0);
test.maxscales->disconnect();
// Slave failures are detected
test.maxscales->connect();
test.repl->block_node(1);
test.maxscales->wait_for_monitor();
auto backup_slave = get_row(test.maxscales->conn_rwsplit[0], "SELECT @@server_id");
test.expect(backup_slave == master, "Query should go to the master when the slave is down");
test.repl->unblock_node(1);
test.maxscales->disconnect();
return test.global_result;
}