From 4a2831e731e92d42c77ddf05138990f383823cd0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Markus=20M=C3=A4kel=C3=A4?= Date: Wed, 9 Dec 2020 09:15:07 +0200 Subject: [PATCH 1/2] Clarify transaction_replay documentation The parameter controls three other parameters and overrides their configured values. --- Documentation/Routers/ReadWriteSplit.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Documentation/Routers/ReadWriteSplit.md b/Documentation/Routers/ReadWriteSplit.md index dea6e575b..1de36ba2d 100644 --- a/Documentation/Routers/ReadWriteSplit.md +++ b/Documentation/Routers/ReadWriteSplit.md @@ -428,8 +428,9 @@ The number of seconds to wait until an error is returned to the client when ### `transaction_replay` Replay interrupted transactions. This parameter was added in MaxScale 2.3.0 and -is disabled by default. Enabling this parameter implicitly enables both the -`delayed_retry` and `master_reconnection` parameters. +is disabled by default. Enabling this parameter enables both `delayed_retry` and +`master_reconnection` and sets `master_failure_mode` to `fail_on_write`, thereby +overriding any configured values for these parameters. When the server where the transaction is in progress fails, readwritesplit can migrate the transaction to a replacement server. This can completely hide the From 43068d20b43a34d5f3b4b4db0fcce701b3cd7cad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Markus=20M=C3=A4kel=C3=A4?= Date: Thu, 10 Dec 2020 11:53:06 +0200 Subject: [PATCH 2/2] MXS-3337: Fix galeramon query The query now properly queries over both the status and the variables. --- server/modules/monitor/galeramon/galeramon.cc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/server/modules/monitor/galeramon/galeramon.cc b/server/modules/monitor/galeramon/galeramon.cc index 7ef0bd195..7430911ff 100644 --- a/server/modules/monitor/galeramon/galeramon.cc +++ b/server/modules/monitor/galeramon/galeramon.cc @@ -137,7 +137,11 @@ void GaleraMonitor::update_server_status(MXS_MONITORED_SERVER* monitored_server) /* Check if the the Galera FSM shows this node is joined to the cluster */ const char* cluster_member = - "SHOW STATUS WHERE Variable_name IN" + " SELECT * FROM (" + " SELECT * FROM information_schema.SESSION_STATUS" + " UNION" + " SELECT * FROM information_schema.SESSION_VARIABLES) AS t" + " WHERE Variable_name IN" " ('wsrep_cluster_state_uuid'," " 'wsrep_cluster_size'," " 'wsrep_local_index',"