Opened 14 years ago
Closed 14 years ago
#8903 closed defect (fixed)
Backend doesn't seem to reconnect to restarted mysql
Reported by: | beirdo | Owned by: | beirdo |
---|---|---|---|
Priority: | minor | Milestone: | 0.24 |
Component: | MythTV - General | Version: | Master Head |
Severity: | medium | Keywords: | |
Cc: | Ticket locked: | no |
Description
If you have to restart your mysqld while the backend is running, it doesn't seem to want to reconnect when the mysqld is running again:
QMYSQL3: Unable to prepare statement Database error was: MySQL server has gone away
This particular error should be easy to deal with by simply attempting to reconnect. Ideally, missed queries should be queued, but at least a reconnection should be attempted and the query retried if the reconnection succeeds. Instead, we get an endless stream of errors for every subsequent query.
Change History (3)
Note: See
TracTickets for help on using
tickets.
(In [26225]) Make MSqlQuery.exec and .prepare more resiliant to disappearing MySQL connections.
If the database connection is down on entry, it will try to reconnect or fail.
If the .exec or .prepare call fails due to "MySQL server went away" (error code 2006), it will try to reconnect, and if that works, it will retry the call once.
This should keep the frontend and backend (et al) from going absolutely crazy if the mysql server needs to be restarted for any reason. Previously, all further queries would fail, requiring restarts.
Fixes #8903