From 2dacd0c9a4d14e9b6ed70741d4e05f3d892e3160 Mon Sep 17 00:00:00 2001 From: Johan Wikman Date: Tue, 20 Mar 2018 09:29:53 +0200 Subject: [PATCH 1/3] Add Changelog and Releasenotes to 2.1.15 --- Documentation/Changelog.md | 1 + .../MaxScale-2.1.15-Release-Notes.md | 51 +++++++++++++++++++ 2 files changed, 52 insertions(+) create mode 100644 Documentation/Release-Notes/MaxScale-2.1.15-Release-Notes.md diff --git a/Documentation/Changelog.md b/Documentation/Changelog.md index 8fd9dfbb9..567d87862 100644 --- a/Documentation/Changelog.md +++ b/Documentation/Changelog.md @@ -21,6 +21,7 @@ * MaxScale now supports IPv6 For more details, please refer to: +* [MariaDB MaxScale 2.1.15 Release Notes](Release-Notes/MaxScale-2.1.15-Release-Notes.md) * [MariaDB MaxScale 2.1.14 Release Notes](Release-Notes/MaxScale-2.1.14-Release-Notes.md) * [MariaDB MaxScale 2.1.13 Release Notes](Release-Notes/MaxScale-2.1.13-Release-Notes.md) * [MariaDB MaxScale 2.1.12 Release Notes](Release-Notes/MaxScale-2.1.12-Release-Notes.md) diff --git a/Documentation/Release-Notes/MaxScale-2.1.15-Release-Notes.md b/Documentation/Release-Notes/MaxScale-2.1.15-Release-Notes.md new file mode 100644 index 000000000..4f4ac3b39 --- /dev/null +++ b/Documentation/Release-Notes/MaxScale-2.1.15-Release-Notes.md @@ -0,0 +1,51 @@ +# MariaDB MaxScale 2.1.15 Release Notes -- 2018-03 + +Release 2.1.15 is a GA release. + +This document describes the changes in release 2.1.14, when compared +to release [2.1.14](MaxScale-2.1.14-Release-Notes.md). + +If you are upgrading from release 2.0, please also read the following +release notes: + +* [2.1.14](./MaxScale-2.1.14-Release-Notes.md) +* [2.1.13](./MaxScale-2.1.13-Release-Notes.md) +* [2.1.12](./MaxScale-2.1.12-Release-Notes.md) +* [2.1.11](./MaxScale-2.1.11-Release-Notes.md) +* [2.1.10](./MaxScale-2.1.10-Release-Notes.md) +* [2.1.9](./MaxScale-2.1.9-Release-Notes.md) +* [2.1.8](./MaxScale-2.1.8-Release-Notes.md) +* [2.1.7](./MaxScale-2.1.7-Release-Notes.md) +* [2.1.6](./MaxScale-2.1.6-Release-Notes.md) +* [2.1.5](./MaxScale-2.1.5-Release-Notes.md) +* [2.1.4](./MaxScale-2.1.4-Release-Notes.md) +* [2.1.3](./MaxScale-2.1.3-Release-Notes.md) +* [2.1.2](./MaxScale-2.1.2-Release-Notes.md) +* [2.1.1](./MaxScale-2.1.1-Release-Notes.md) +* [2.1.0](./MaxScale-2.1.0-Release-Notes.md) + +For any problems you encounter, please consider submitting a bug report at +[Jira](https://jira.mariadb.org). + +## Bug fixes + +[Here is a list of bugs fixed in MaxScale 2.1.15.](https://jira.mariadb.org/issues/?jql=project%20%3D%20MXS%20AND%20issuetype%20%3D%20Bug%20AND%20status%20%3D%20Closed%20AND%20fixVersion%20%3D%202.1.15) + +* [MXS-1718](https://jira.mariadb.org/browse/MXS-1718) Authentication failures leak memory +* [MXS-1714](https://jira.mariadb.org/browse/MXS-1714) local_address is not used by internal connections +* [MXS-1699](https://jira.mariadb.org/browse/MXS-1699) Improve log msg about the maxscale startup process + +## Packaging + +RPM and Debian packages are provided for the Linux distributions supported by +MariaDB Enterprise. + +Packages can be downloaded [here](https://mariadb.com/resources/downloads). + +## Source Code + +The source code of MaxScale is tagged at GitHub with a tag, which is identical +with the version of MaxScale. For instance, the tag of version X.Y.Z of MaxScale +is maxscale-X.Y.Z. + +The source code is available [here](https://github.com/mariadb-corporation/MaxScale). From 64ccb67897a894a365380cbd2e6ac21aca528f0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Markus=20M=C3=A4kel=C3=A4?= Date: Fri, 16 Mar 2018 14:46:41 +0200 Subject: [PATCH 2/3] Mark crashing tests as failed If a test generates a core dump, it is marked as a failure. --- maxscale-system-test/copy_logs.sh | 4 ++++ maxscale-system-test/testconnections.cpp | 11 +++++------ 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/maxscale-system-test/copy_logs.sh b/maxscale-system-test/copy_logs.sh index c573d3c98..0f3bfbfa6 100755 --- a/maxscale-system-test/copy_logs.sh +++ b/maxscale-system-test/copy_logs.sh @@ -51,3 +51,7 @@ else rsync -a --no-o --no-g LOGS $logs_publish_dir fi +for i in `find $logs_dir -name 'core*'` +do + test -e $i && echo "Test failed: core files generated" && exit 1 +done diff --git a/maxscale-system-test/testconnections.cpp b/maxscale-system-test/testconnections.cpp index 7023bf08b..a02dd1c81 100644 --- a/maxscale-system-test/testconnections.cpp +++ b/maxscale-system-test/testconnections.cpp @@ -827,16 +827,15 @@ int TestConnections::copy_all_logs() sprintf(str, "%s/copy_logs.sh %s", test_dir, test_name); tprintf("Executing %s\n", str); + if (system(str) != 0) { tprintf("copy_logs.sh executing FAILED!\n"); - return 1; - } - else - { - tprintf("copy_logs.sh OK!\n"); - return 0; + exit(1); } + + tprintf("copy_logs.sh OK!\n"); + return 0; } int TestConnections::copy_all_logs_periodic() From 02368473f7253350f93ee9093b3ca1db1dc0da39 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Markus=20M=C3=A4kel=C3=A4?= Date: Mon, 19 Mar 2018 10:26:02 +0200 Subject: [PATCH 3/3] Fix failover_mysqlmon The test should stop MaxScale when it is fixing the replication to prevent the triggering of the standalone master detection. Also removed leading spaces from the messages and fixed a possible crash with a NULL value given to `ssh_node`. --- maxscale-system-test/failover_mysqlmon.cpp | 19 +++++++++---------- maxscale-system-test/mariadb_nodes.cpp | 2 +- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/maxscale-system-test/failover_mysqlmon.cpp b/maxscale-system-test/failover_mysqlmon.cpp index d3315c917..c872ab534 100644 --- a/maxscale-system-test/failover_mysqlmon.cpp +++ b/maxscale-system-test/failover_mysqlmon.cpp @@ -17,7 +17,7 @@ int main(int argc, char *argv[]) { TestConnections * test = new TestConnections(argc, argv); - test->tprintf(" Create the test table and insert some data "); + test->tprintf("Create the test table and insert some data "); test->connect_maxscale(); test->try_query(test->conn_rwsplit, "CREATE OR REPLACE TABLE test.t1 (id int)"); test->try_query(test->conn_rwsplit, "INSERT INTO test.t1 VALUES (1)"); @@ -26,16 +26,16 @@ int main(int argc, char *argv[]) test->repl->connect(); test->repl->sync_slaves(); - test->tprintf(" Block all but one node "); + test->tprintf("Block all but one node "); test->repl->block_node(0); test->repl->block_node(1); test->repl->block_node(2); execute_query(test->repl->nodes[3], "STOP SLAVE;RESET SLAVE ALL;"); - test->tprintf(" Wait for the monitor to detect it "); + test->tprintf("Wait for the monitor to detect it "); sleep(15); - test->tprintf(" Connect and insert should work "); + test->tprintf("Connect and insert should work "); char *output = test->ssh_maxscale_output(true, "maxadmin list servers"); test->tprintf("%s", output); free(output); @@ -43,12 +43,12 @@ int main(int argc, char *argv[]) test->try_query(test->conn_rwsplit, "INSERT INTO test.t1 VALUES (1)"); test->close_maxscale_connections(); - test->tprintf(" Unblock nodes "); + test->tprintf("Unblock nodes "); test->repl->unblock_node(0); test->repl->unblock_node(1); test->repl->unblock_node(2); - test->tprintf(" Wait for the monitor to detect it "); + test->tprintf("Wait for the monitor to detect it "); sleep(15); test->tprintf("Check that we are still using the last node to which we failed over " @@ -64,12 +64,11 @@ int main(int argc, char *argv[]) "@@server_id is different: %s != %s", maxscale_id, real_id); test->close_maxscale_connections(); - test->ssh_maxscale(true, "maxadmin clear server server1 maintenance"); - test->ssh_maxscale(true, "maxadmin clear server server2 maintenance"); - test->ssh_maxscale(true, "maxadmin clear server server3 maintenance"); + test->stop_maxscale(); test->repl->fix_replication(); + test->start_maxscale(); - test->tprintf(" Check that MaxScale is running "); + test->tprintf("Check that MaxScale is running "); test->check_maxscale_alive(); int rval = test->global_result; diff --git a/maxscale-system-test/mariadb_nodes.cpp b/maxscale-system-test/mariadb_nodes.cpp index 909454e0e..b6df5d10d 100644 --- a/maxscale-system-test/mariadb_nodes.cpp +++ b/maxscale-system-test/mariadb_nodes.cpp @@ -1571,7 +1571,7 @@ int Mariadb_nodes::prepare_server(int i) char str1[1024]; char str2[1024]; - ssh_node(i, true, stop_db_command[i]); + ssh_node(i, true, "%s", stop_db_command[i]); sleep(5); ssh_node(i, true, "sed -i \"s/bind-address/#bind-address/g\" /etc/mysql/my.cnf.d/*.cnf"); ssh_node(i, true, "ln -s /etc/apparmor.d/usr.sbin.mysqld /etc/apparmor.d/disable/usr.sbin.mysqld; sudo service apparmor restart");