From 692d4ed26c3b6fcf38c15a0e7c2d2e36a5b8313d Mon Sep 17 00:00:00 2001 From: Marc de Jonge Date: Wed, 15 Feb 2023 09:27:53 +0100 Subject: [PATCH 1/2] Add logic to take the max_connections and use_ssl settings from any previous writer This only gets executed when a new writer is set for AWS Aurora. --- lib/MySQL_HostGroups_Manager.cpp | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/lib/MySQL_HostGroups_Manager.cpp b/lib/MySQL_HostGroups_Manager.cpp index 523f083e8..174eb1387 100644 --- a/lib/MySQL_HostGroups_Manager.cpp +++ b/lib/MySQL_HostGroups_Manager.cpp @@ -7137,12 +7137,26 @@ void MySQL_HostGroups_Manager::update_aws_aurora_set_writer(int _whid, int _rhid q=(char *)"INSERT INTO mysql_servers_incoming SELECT hostgroup_id, hostname, port, gtid_port, weight, status, compression, max_connections, max_replication_lag, use_ssl, max_latency_ms, comment FROM mysql_servers WHERE hostname<>'%s%s'"; sprintf(query,q, _server_id, domain_name); mydb->execute(query); - q=(char *)"INSERT INTO mysql_servers_incoming (hostgroup_id, hostname, port, weight) VALUES (%d, '%s%s', %d, %d)"; - sprintf(query,q, _writer_hostgroup, _server_id, domain_name, aurora_port, new_reader_weight); + + unsigned int max_max_connections = 1000; + unsigned int max_use_ssl = 0; + MyHGC *myhgc = MyHGC_lookup(_whid); + for (int j = 0; j < (int) myhgc->mysrvs->cnt(); j++) { + MySrvC *mysrvc = (MySrvC *) myhgc->mysrvs->servers->index(j); + if (mysrvc->max_connections > max_max_connections) { + max_max_connections = mysrvc->max_connections; + } + if (mysrvc->use_ssl > max_use_ssl) { + max_use_ssl = mysrvc->use_ssl; + } + } + + q=(char *)"INSERT INTO mysql_servers_incoming (hostgroup_id, hostname, port, weight, max_connections, use_ssl) VALUES (%d, '%s%s', %d, %d, %d, %d)"; + sprintf(query,q, _writer_hostgroup, _server_id, domain_name, aurora_port, new_reader_weight, max_max_connections, max_use_ssl); mydb->execute(query); if (writer_is_also_reader && read_HG>=0) { - q=(char *)"INSERT INTO mysql_servers_incoming (hostgroup_id, hostname, port, weight) VALUES (%d, '%s%s', %d, %d)"; - sprintf(query, q, read_HG, _server_id, domain_name, aurora_port, new_reader_weight); + q=(char *)"INSERT INTO mysql_servers_incoming (hostgroup_id, hostname, port, weight, max_connections, use_ssl) VALUES (%d, '%s%s', %d, %d, %d, %d)"; + sprintf(query, q, read_HG, _server_id, domain_name, aurora_port, new_reader_weight, max_max_connections, max_use_ssl); mydb->execute(query); } proxy_info("AWS Aurora: setting new auto-discovered host %s%s:%d as writer\n", _server_id, domain_name, aurora_port); From 4589c09c4ad758500f42a677ec8e6a2a71e5bbec Mon Sep 17 00:00:00 2001 From: Marc de Jonge Date: Wed, 15 Feb 2023 09:32:35 +0100 Subject: [PATCH 2/2] Switch to use tabs instead of spaces --- lib/MySQL_HostGroups_Manager.cpp | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/lib/MySQL_HostGroups_Manager.cpp b/lib/MySQL_HostGroups_Manager.cpp index 174eb1387..762a8ac85 100644 --- a/lib/MySQL_HostGroups_Manager.cpp +++ b/lib/MySQL_HostGroups_Manager.cpp @@ -7138,18 +7138,18 @@ void MySQL_HostGroups_Manager::update_aws_aurora_set_writer(int _whid, int _rhid sprintf(query,q, _server_id, domain_name); mydb->execute(query); - unsigned int max_max_connections = 1000; - unsigned int max_use_ssl = 0; - MyHGC *myhgc = MyHGC_lookup(_whid); - for (int j = 0; j < (int) myhgc->mysrvs->cnt(); j++) { - MySrvC *mysrvc = (MySrvC *) myhgc->mysrvs->servers->index(j); - if (mysrvc->max_connections > max_max_connections) { - max_max_connections = mysrvc->max_connections; - } - if (mysrvc->use_ssl > max_use_ssl) { - max_use_ssl = mysrvc->use_ssl; - } - } + unsigned int max_max_connections = 1000; + unsigned int max_use_ssl = 0; + MyHGC *myhgc = MyHGC_lookup(_whid); + for (int j = 0; j < (int) myhgc->mysrvs->cnt(); j++) { + MySrvC *mysrvc = (MySrvC *) myhgc->mysrvs->servers->index(j); + if (mysrvc->max_connections > max_max_connections) { + max_max_connections = mysrvc->max_connections; + } + if (mysrvc->use_ssl > max_use_ssl) { + max_use_ssl = mysrvc->use_ssl; + } + } q=(char *)"INSERT INTO mysql_servers_incoming (hostgroup_id, hostname, port, weight, max_connections, use_ssl) VALUES (%d, '%s%s', %d, %d, %d, %d)"; sprintf(query,q, _writer_hostgroup, _server_id, domain_name, aurora_port, new_reader_weight, max_max_connections, max_use_ssl);