Skip to content

prometheus metric proxysql_gtid_executed_total not updated after binlog reader reconnect #4969

@pservit

Description

@pservit

Environment

ProxySQL Version: 2.7.3 (Docker image: proxysql/proxysql:2.7.3)
Platform: Docker

Description

The Prometheus metric proxysql_gtid_executed_total becomes stuck and stops updating approximately 38 hours after ProxySQL instance startup. The metric values remain frozen despite the underlying GTID data continuing to update normally.

Expected Behavior

The proxysql_gtid_executed_total metric should continue updating with current GTID events counts from the stats_mysql_gtid_executed table.

Actual Behavior

After approximately 38 hours of runtime, the proxysql_gtid_executed_total metric stops updating and returns the same values repeatedly, even though the underlying data in stats_mysql_gtid_executed continues to increment normally.

Error Logs

The following errors appear in the ProxySQL logs when the metric stops updating:
2025-05-28 14:29:07 GTID_Server_Data.cpp:202:readall(): [ERROR] Read returned 0 bytes, error 115
2025-05-28 14:29:07 GTID_Server_Data.cpp:55:reader_cb(): [WARNING] GTID: failed to connect to ProxySQL binlog reader on port 6020 for server x.x.x.1:3306
2025-05-28 14:30:03 GTID_Server_Data.cpp:202:readall(): [ERROR] Read returned 0 bytes, error 115
2025-05-28 14:30:03 GTID_Server_Data.cpp:55:reader_cb(): [WARNING] GTID: failed to connect to ProxySQL binlog reader on port 6020 for server x.x.x.2:3306
2025-05-28 14:30:07 GTID_Server_Data.cpp:202:readall(): [ERROR] Read returned 0 bytes, error 115
2025-05-28 14:30:07 GTID_Server_Data.cpp:55:reader_cb(): [WARNING] GTID: failed to connect to ProxySQL binlog reader on port 6020 for server x.x.x.3:3306
mysql ... -e 'select hostname, port, events from stats_mysql_gtid_executed;'; sleep 60; mysql ... -e 'select hostname,port,events from stats_mysql_gtid_executed;';

+-----------+------+----------+
| hostname  | port | events   |
+-----------+------+----------+
| x.x.x.1   | 3306 | 931302   |
| x.x.x.2   | 3306 | 906726   |
| x.x.x.3   | 3306 | 15461009 |
+-----------+------+----------+

+-----------+------+----------+
| hostname  | port | events   |
+-----------+------+----------+
| x.x.x.1   | 3306 | 952778   |
| x.x.x.2   | 3306 | 928203   |
| x.x.x.3   | 3306 | 15482486 |
+-----------+------+----------+
curl -s 127.0.0.1:6070/metrics | grep proxysql_gtid_executed_total; sleep 60; curl -s 127.0.0.1:6070/metrics | grep proxysql_gtid_executed_total;

proxysql_gtid_executed_total{hostname="x.x.x.1",port="3306"} 31277219
proxysql_gtid_executed_total{hostname="x.x.x.2",port="3306"} 3790367
proxysql_gtid_executed_total{hostname="x.x.x.3",port="3306"} 28932000
..... after 60 seconds - same values ....
proxysql_gtid_executed_total{hostname="x.x.x.1",port="3306"} 31277219
proxysql_gtid_executed_total{hostname="x.x.x.2",port="3306"} 3790367
proxysql_gtid_executed_total{hostname="x.x.x.3",port="3306"} 28932000

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions