From 32f640823052f4b7fbe73055d904641d54a7eda4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Markus=20M=C3=A4kel=C3=A4?= Date: Fri, 16 Nov 2018 17:54:50 +0200 Subject: [PATCH 1/4] Fix Ubuntu Trusty builds The systemd package name is libsystemd-daemon-dev in older versions. --- BUILD/install_build_deps.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/BUILD/install_build_deps.sh b/BUILD/install_build_deps.sh index 3db61a326..a600ce372 100755 --- a/BUILD/install_build_deps.sh +++ b/BUILD/install_build_deps.sh @@ -16,7 +16,11 @@ then build-essential libssl-dev ncurses-dev bison flex \ perl libtool libpcre3-dev tcl tcl-dev uuid \ uuid-dev libsqlite3-dev liblzma-dev libpam0g-dev pkg-config \ - libedit-dev libsystemd-dev + libedit-dev + + # One of these will work, older systems use libsystemd-daemon-dev + sudo apt-get install -y libsystemd-dev || \ + sudo apt-get install -y libsystemd-daemon-dev ## separatelibgnutls installation process for Ubuntu Trusty cat /etc/*release | grep -E "Trusty|wheezy" From 9263c1cf8d6c7d8df7bc326a120ebff0da8d9d85 Mon Sep 17 00:00:00 2001 From: Johan Wikman Date: Thu, 15 Nov 2018 13:58:31 +0200 Subject: [PATCH 2/4] Correct default watchdog timeout from 30 to 60 Documentation change. --- Documentation/Release-Notes/MaxScale-2.3.1-Release-Notes.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Documentation/Release-Notes/MaxScale-2.3.1-Release-Notes.md b/Documentation/Release-Notes/MaxScale-2.3.1-Release-Notes.md index 01ce5a094..154018c7e 100644 --- a/Documentation/Release-Notes/MaxScale-2.3.1-Release-Notes.md +++ b/Documentation/Release-Notes/MaxScale-2.3.1-Release-Notes.md @@ -89,9 +89,9 @@ enabled and MaxScale will behave accordingly. Please see the [documentation](Getting-Started/Configuration-Guide.md#systemd-watchdog) for more details. -By default there will be a watchdog timeout of 30 seconds. That is, if -MaxScale is hung, then systemd will detect that and restart MaxScale after -slightly more than 30 seconds. +By default the watchdog timeout is 60 seconds. That is, if MaxScale is +hung, then systemd will detect that and restart MaxScale after slightly +more than 60 seconds. ### Miscellaneous From e3ad8272889b70d0cb1890dfa6b688b339bdbfdc Mon Sep 17 00:00:00 2001 From: Johan Wikman Date: Tue, 20 Nov 2018 10:43:59 +0200 Subject: [PATCH 3/4] Do not enable the watchdog by default Any administrative operation, performed using maxadmin or maxctrl, that takes longer than the watchdog timeout will cause MaxScale to be killed and restarted by the watchdog. --- Documentation/Getting-Started/Configuration-Guide.md | 6 ++++++ .../Release-Notes/MaxScale-2.3.1-Release-Notes.md | 10 +++++++--- etc/maxscale.service.in | 4 +++- 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/Documentation/Getting-Started/Configuration-Guide.md b/Documentation/Getting-Started/Configuration-Guide.md index fcfb5e61b..e98676ae9 100644 --- a/Documentation/Getting-Started/Configuration-Guide.md +++ b/Documentation/Getting-Started/Configuration-Guide.md @@ -1978,3 +1978,9 @@ enabled MaxScale will check that all threads are running and notify systemd with a "keep-alive ping". Systemd reference: https://www.freedesktop.org/software/systemd/man/systemd.service.html + +*NOTE*: In 2.3.1 there is a deficiency that manifests itself so that if +_any_ administrative operation, performed using _maxctrl_ or _maxadmin_, +takes longer that the specified watchdog timeout, then the watchdog will +kill and restart MaxScale. Please take that into account before enabling +the watchdog. diff --git a/Documentation/Release-Notes/MaxScale-2.3.1-Release-Notes.md b/Documentation/Release-Notes/MaxScale-2.3.1-Release-Notes.md index 154018c7e..c5c6647da 100644 --- a/Documentation/Release-Notes/MaxScale-2.3.1-Release-Notes.md +++ b/Documentation/Release-Notes/MaxScale-2.3.1-Release-Notes.md @@ -89,9 +89,13 @@ enabled and MaxScale will behave accordingly. Please see the [documentation](Getting-Started/Configuration-Guide.md#systemd-watchdog) for more details. -By default the watchdog timeout is 60 seconds. That is, if MaxScale is -hung, then systemd will detect that and restart MaxScale after slightly -more than 60 seconds. +By default the watchdog is disabled. + +*NOTE*: In 2.3.1 there is a deficiency that manifests itself so that if +_any_ administrative operation, performed using _maxctrl_ or _maxadmin_, +takes longer that the specified watchdog timeout, then the watchdog will +kill and restart MaxScale. Please take that into account before enabling +the watchdog. ### Miscellaneous diff --git a/etc/maxscale.service.in b/etc/maxscale.service.in index 4f335ed41..283de5038 100644 --- a/etc/maxscale.service.in +++ b/etc/maxscale.service.in @@ -20,7 +20,9 @@ ExecStart=@CMAKE_INSTALL_PREFIX@/@MAXSCALE_BINDIR@/maxscale TimeoutStartSec=120 LimitNOFILE=65535 StartLimitBurst=0 -WatchdogSec=60s +#Please see the MaxScale release notes and/or watchdog documentation +#before turning the watchdog on. +#WatchdogSec=60s # Only relevant when MaxScale is linked with -fsanitize=address Environment=ASAN_OPTIONS=abort_on_error=1 From c552845fd1264ba0d18ecbf8d6a7aa3c1b09a1b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Markus=20M=C3=A4kel=C3=A4?= Date: Tue, 20 Nov 2018 10:38:25 +0200 Subject: [PATCH 4/4] Deprecate old admin modules Added notification messages for the deprecation of the old admin interface modules. Also added notes into the documentation about their deprecation. --- Documentation/Reference/MaxAdmin.md | 2 ++ .../MaxScale-2.3.1-Release-Notes.md | 17 ++++++++++++++--- server/modules/routing/cli/cli.cc | 2 +- server/modules/routing/debugcli/debugcli.cc | 2 +- server/modules/routing/maxinfo/maxinfo.cc | 2 +- 5 files changed, 19 insertions(+), 6 deletions(-) diff --git a/Documentation/Reference/MaxAdmin.md b/Documentation/Reference/MaxAdmin.md index 8dc5a941d..107ac2502 100644 --- a/Documentation/Reference/MaxAdmin.md +++ b/Documentation/Reference/MaxAdmin.md @@ -1,5 +1,7 @@ # MaxAdmin - Admin Interface +**NOTE:** MaxAdmin is deprecated, use [MaxCtrl](./MaxCtrl.md) instead. + # The Maxscale Administrative & Monitoring Client Application - [Overview](#overview) diff --git a/Documentation/Release-Notes/MaxScale-2.3.1-Release-Notes.md b/Documentation/Release-Notes/MaxScale-2.3.1-Release-Notes.md index c5c6647da..7f3555d8e 100644 --- a/Documentation/Release-Notes/MaxScale-2.3.1-Release-Notes.md +++ b/Documentation/Release-Notes/MaxScale-2.3.1-Release-Notes.md @@ -38,7 +38,7 @@ release. The functionality in `mmmon` has been largely obsoleted by the advancements in `mariadbmon`. The `ndbclustermon` is largely obsolete due to the fact that there are virtually no users who use it. -### Deprecated options +## Deprecated features The following configuration file options have been deprecated and will be removed in 2.4. @@ -53,8 +53,19 @@ be removed in 2.4. ### MaxAdmin -The commands `set pollsleep` and `set nbpolls` have been deprecated and -will be removed in 2.4. +MaxAdmin has been deprecated in favor of the REST API and MaxCtrl. It will be +removed in a later release. + +In addition to this the commands `set pollsleep` and `set nbpolls` have been +deprecated and will be removed already in 2.4. + +### MaxInfo + +The `maxinfo` router has been deprecated and will be removed in a later release. + +### Debugcli + +The `debugcli` module has been deprecated and will be removed in 2.4. ## New Features diff --git a/server/modules/routing/cli/cli.cc b/server/modules/routing/cli/cli.cc index fe52a3c91..599d33167 100644 --- a/server/modules/routing/cli/cli.cc +++ b/server/modules/routing/cli/cli.cc @@ -63,7 +63,7 @@ extern int execute_cmd(CLI_SESSION* cli); */ extern "C" MXS_MODULE* MXS_CREATE_MODULE() { - MXS_NOTICE("Initialise CLI router module"); + MXS_WARNING("THE 'cli' MODULE AND 'maxadmin' ARE DEPRECATED: Use 'maxctrl' instead"); static MXS_ROUTER_OBJECT MyObject = { diff --git a/server/modules/routing/debugcli/debugcli.cc b/server/modules/routing/debugcli/debugcli.cc index c5b912af7..07bc1a7e4 100644 --- a/server/modules/routing/debugcli/debugcli.cc +++ b/server/modules/routing/debugcli/debugcli.cc @@ -65,7 +65,7 @@ static CLI_INSTANCE* instances; */ extern "C" MXS_MODULE* MXS_CREATE_MODULE() { - MXS_NOTICE("Initialise debug CLI router module."); + MXS_WARNING("THE 'debugcli' MODULE IS DEPRECATED"); pthread_mutex_init(&instlock, NULL); instances = NULL; diff --git a/server/modules/routing/maxinfo/maxinfo.cc b/server/modules/routing/maxinfo/maxinfo.cc index ec79fda80..523c6a057 100644 --- a/server/modules/routing/maxinfo/maxinfo.cc +++ b/server/modules/routing/maxinfo/maxinfo.cc @@ -93,7 +93,7 @@ static INFO_INSTANCE* instances; */ extern "C" MXS_MODULE* MXS_CREATE_MODULE() { - MXS_NOTICE("Initialise MaxInfo router module."); + MXS_WARNING("THE 'maxinfo' MODULE IS DEPRECATED"); pthread_mutex_init(&instlock, NULL); instances = NULL;