Hi team,
We are using ProxySQL of version 2.4.7-5-gd467cc0, codename Truls and MySQL Server version : Percona Server for MySQL 5.7.40-43-log.
We were having issues with the Master DB getting overloaded with connections resulting into max_connections issue so here is what we did : On the ProxySQL side, we had configured Master DB with the reader hostgroup_id : 20 and 30 along with write hostgroup_id 10. Since we have enough replicas to support read so we removed the Master DB from the reader hostgroup to avoid the master running into max_connections again.
ProxySQLAdmin> select * from mysql_servers;
+--------------+--------------------------+------+-----------+--------------+--------+-------------+-----------------+---------------------+---------+----------------+-----------------------------+
| hostgroup_id | hostname | port | gtid_port | status | weight | compression | max_connections | max_replication_lag | use_ssl | max_latency_ms | comment |
+--------------+--------------------------+------+-----------+--------------+--------+-------------+-----------------+---------------------+---------+----------------+-----------------------------+
| 10 | va-db-main-002 | 3306 | 0 | OFFLINE_SOFT | 1 | 0 | 2000 | 300 | 0 | 0 | Master |
| 10 | replica-009 | 3306 | 0 | OFFLINE_SOFT | 1 | 0 | 2000 | 300 | 0 | 0 | Master |
| 12 | va-db-main-social-002 | 3306 | 0 | OFFLINE_SOFT | 100 | 0 | 2000 | 0 | 0 | 0 | Master-Social |
| 10 | main-db | 3306 | 0 | ONLINE | 100 | 0 | 2500 | 300 | 0 | 0 | |
| 20 | va-db-main-004 | 3306 | 0 | OFFLINE_SOFT | 100 | 0 | 2500 | 300 | 0 | 0 | |
| 20 | replica-001 | 3306 | 0 | OFFLINE_SOFT | 100 | 0 | 1000 | 300 | 0 | 0 | |
| 20 | replica-003 | 3306 | 0 | ONLINE | 100 | 0 | 1000 | 300 | 0 | 0 | |
| 20 | replica-004 | 3306 | 0 | ONLINE | 100 | 0 | 1000 | 300 | 0 | 0 | |
| 20 | replica-006 | 3306 | 0 | ONLINE | 100 | 0 | 1000 | 300 | 0 | 0 | |
| 20 | replica-007 | 3306 | 0 | ONLINE | 100 | 0 | 1000 | 300 | 0 | 0 | |
| 20 | replica-008 | 3306 | 0 | ONLINE | 100 | 0 | 1000 | 300 | 0 | 0 | |
| 11 | main-db | 3306 | 0 | ONLINE | 100 | 0 | 250 | 300 | 0 | 0 | BD Writer |
| 30 | replica-005 | 3306 | 0 | ONLINE | 100 | 0 | 1000 | 300 | 0 | 0 | BD Replicas |
| 30 | replica-014 | 3306 | 0 | ONLINE | 100 | 0 | 1000 | 300 | 0 | 0 | BD Replicas |
| 40 | replica-social-001 | 3306 | 0 | OFFLINE_SOFT | 100 | 0 | 2000 | 0 | 0 | 0 | Replica-Social |
| 50 | va-invdb02 | 3306 | 0 | OFFLINE_SOFT | 100 | 0 | 2500 | 300 | 0 | 0 | IDB Master |
| 60 | va-invdb01 | 3306 | 0 | OFFLINE_SOFT | 100 | 0 | 1000 | 300 | 0 | 0 | IDB Replica |
| 70 | va-invdb-bd01 | 3306 | 0 | OFFLINE_SOFT | 100 | 0 | 1000 | 300 | 0 | 0 | IDB BD Replica |
| 80 | replica-012 | 3306 | 0 | ONLINE | 100 | 0 | 1000 | 300 | 0 | 0 | Dedicated BD replica |
| 20 | main-db | 3306 | 0 | ONLINE | 100 | 0 | 2500 | 300 | 0 | 0 | |
| 30 | main-db | 3306 | 0 | ONLINE | 100 | 0 | 250 | 300 | 0 | 0 | BD Writer |
+--------------+--------------------------+------+-----------+--------------+--------+-------------+-----------------+---------------------+---------+----------------+-----------------------------+
21 rows in set (0.00 sec)
ProxySQLAdmin> DELETE FROM mysql_servers
WHERE hostname = 'main-db'
AND port = 3306
AND hostgroup_id IN (20, 30);
Query OK, 2 rows affected (0.00 sec)
ProxySQLAdmin> LOAD MYSQL SERVERS TO RUNTIME;
SAVE MYSQL SERVERS TO DISK;
Query OK, 0 rows affected (0.01 sec)
Query OK, 0 rows affected (0.01 sec)
ProxySQLAdmin> select * from mysql_servers;
+--------------+--------------------------+------+-----------+--------------+--------+-------------+-----------------+---------------------+---------+----------------+-----------------------------+
| hostgroup_id | hostname | port | gtid_port | status | weight | compression | max_connections | max_replication_lag | use_ssl | max_latency_ms | comment |
+--------------+--------------------------+------+-----------+--------------+--------+-------------+-----------------+---------------------+---------+----------------+-----------------------------+
| 10 | va-db-main-002 | 3306 | 0 | OFFLINE_SOFT | 1 | 0 | 2000 | 300 | 0 | 0 | Master |
| 10 | replica-009 | 3306 | 0 | OFFLINE_SOFT | 1 | 0 | 2000 | 300 | 0 | 0 | Master |
| 12 | va-db-main-social-002 | 3306 | 0 | OFFLINE_SOFT | 100 | 0 | 2000 | 0 | 0 | 0 | Master-Social |
| 10 | main-db | 3306 | 0 | ONLINE | 100 | 0 | 2500 | 300 | 0 | 0 | |
| 20 | va-db-main-004 | 3306 | 0 | OFFLINE_SOFT | 100 | 0 | 2500 | 300 | 0 | 0 | |
| 20 | replica-001 | 3306 | 0 | OFFLINE_SOFT | 100 | 0 | 1000 | 300 | 0 | 0 | |
| 20 | replica-003 | 3306 | 0 | ONLINE | 100 | 0 | 1000 | 300 | 0 | 0 | |
| 20 | replica-004 | 3306 | 0 | ONLINE | 100 | 0 | 1000 | 300 | 0 | 0 | |
| 20 | replica-006 | 3306 | 0 | ONLINE | 100 | 0 | 1000 | 300 | 0 | 0 | |
| 20 | replica-007 | 3306 | 0 | ONLINE | 100 | 0 | 1000 | 300 | 0 | 0 | |
| 20 | replica-008 | 3306 | 0 | ONLINE | 100 | 0 | 1000 | 300 | 0 | 0 | |
| 11 | main-db | 3306 | 0 | ONLINE | 100 | 0 | 250 | 300 | 0 | 0 | BD Writer |
| 30 | replica-005 | 3306 | 0 | ONLINE | 100 | 0 | 1000 | 300 | 0 | 0 | BD Replicas |
| 30 | replica-014 | 3306 | 0 | ONLINE | 100 | 0 | 1000 | 300 | 0 | 0 | BD Replicas |
| 40 | replica-social-001 | 3306 | 0 | OFFLINE_SOFT | 100 | 0 | 2000 | 0 | 0 | 0 | Replica-Social |
| 50 | va-invdb02 | 3306 | 0 | OFFLINE_SOFT | 100 | 0 | 2500 | 300 | 0 | 0 | IDB Master |
| 60 | va-invdb01 | 3306 | 0 | OFFLINE_SOFT | 100 | 0 | 1000 | 300 | 0 | 0 | IDB Replica |
| 70 | va-invdb-bd01 | 3306 | 0 | OFFLINE_SOFT | 100 | 0 | 1000 | 300 | 0 | 0 | IDB BD Replica |
| 80 | replica-012 | 3306 | 0 | ONLINE | 100 | 0 | 1000 | 300 | 0 | 0 | Dedicated BD replica |
+--------------+--------------------------+------+-----------+--------------+--------+-------------+-----------------+---------------------+---------+----------------+-----------------------------+
19 rows in set (0.00 sec)
ProxySQLAdmin>
I checked the mysql_servers table yesterday and noticed that the main-db was again found in hostgroup_id 20 and 30. This is not the expected behavior so I wanted to know did anyone faced similar issue or know if this a bug in this ProxySQL version?
How do I fix this critical issue?
Regards,
MS