Bug 486141

Summary: Lost connection to MySQL server during query and not reconnected again
Product: [Applications] digikam Reporter: Petr Schonmann <pschonmann>
Component: Database-MysqlAssignee: Digikam Developers <digikam-bugs-null>
Status: REPORTED ---    
Severity: normal CC: metzpinguin
Priority: NOR    
Version First Reported In: 8.4.0   
Target Milestone: ---   
Platform: Appimage   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description Petr Schonmann 2024-04-26 06:13:19 UTC
SUMMARY
Connection to DB lost and seems digikam isnt able to reconnect again. Restart app fix the issue

STEPS TO REPRODUCE
1. Run the app
2. Reboot mysql server and wait that db is online again.
3. When DB is up again, digikam still complain about lost connection - no reconnect.

OBSERVED RESULT
Connection to DB isnt restored ( ? no try to reconnect ? )

EXPECTED RESULT
Some watchdog thats try to reconnect to db and if not success after x tries, then show me a warning

SOFTWARE/OS VERSIONS

Linux/KDE Plasma:  Mint 21.3 - digiKam-8.4.0-20240421T172117-Qt6-x86-64.appimage


ADDITIONAL INFORMATION
Server version: 8.0.36-28 Percona Server (GPL), Release '28', Revision '47601f19'$
ii  percona-release                     1.0-27.generic                          all          Package to install Percona gpg key and APT repos
ii  percona-server-client               8.0.36-28-1.bookworm                    amd64        Percona Server database client binaries
ii  percona-server-common               8.0.36-28-1.bookworm                    amd64        Percona Server database common files (e.g. /etc/mysql/my.cnf)
ii  percona-server-server               8.0.36-28-1.bookworm                    amd64        Percona Server database server binaries
ii  percona-toolkit                     3.5.7-1.bookworm                        amd64        Advanced MySQL and system command-line tools
Comment 1 Maik Qualmann 2024-04-26 10:33:28 UTC
Normal interruptions should be handled by digiKam, we resend SQL queries if errors occur. Restarting the server requires a new login with user name and password. Here we would actually have to start completely from scratch at runtime, like changing the database, logging in, then reading in the collection, etc. Let's see if that is relatively easy to implement.

Maik
Comment 2 Maik Qualmann 2024-04-26 10:33:42 UTC
Normal interruptions should be handled by digiKam, we resend SQL queries if errors occur. Restarting the server requires a new login with user name and password. Here we would actually have to start completely from scratch at runtime, like changing the database, logging in, then reading in the collection, etc. Let's see if that is relatively easy to implement.

Maik