Seite 1 von 1
Re: Upgrade schlägt mit Deadlock fehl
Verfasst: 13.03.2026, 22:36
von mirko
Das CronJob-Script ausschalten/Script umbenennen, kein anderer sollte während der Zeit zugreifen. Das Script upgrade.php öffnet nur eine MySQL-Verbindung, also muss jemand anders zugreifen, z.B. das CronJob-Script.
Upgrade schlägt mit Deadlock fehl
Verfasst: 13.03.2026, 22:28
von Maecius
Hallo,
beim Upgrade unserer SML-Installation kommt es reproduzierbar zu einem Abbruch mit folgendem Fehler:
Deadlock found when trying to get lock; try restarting transaction (1213)
SQL-Anweisung: SHOW COLUMNS FROM <tabellenname>
Umgebung:
SML 9.40.0.01447
MySQL 8.4.7
PHP 8.1, Apache
Installation in Docker, mit jeweils offiziellen PHP / MySQL images.
für das Upgrade isolierte Umgebung, keine externen Zugriffe, geprüft via access log
Im MySQL-General-Log ist ersichtlich, dass während des Upgrades mehrere sehr kurzlebige DB-Verbindungen geöffnet werden, die parallel ALTER TABLE-Statements und SHOW COLUMNS-Abfragen ausführen. Dies führt offenbar zu Metadata-Lock-Deadlocks (MDL), wodurch das Upgrade auch nach 20–30 Versuchen stets an unterschiedlichen Stellen mit Fehler 1213 abbricht.
Wir sehen diese Deadlock-Fehler zwischenzeitlich auch bei Admin-Aktivitäten wie dem Anlegen von neuen Verteilerlisten. Dort sind sie allerdings durch mehrfaches Versuchen umgehbar.
Die Docker-Umgebung wurde testweise auf einen anderen Server in einer anderen Umgebung umgezogen, auch dort treten die Fehler auf. Beide Umgebungen sind üblicherweise performant (SSD, 8GB RAM, 4 Kerne).
Gerne stelle ich bei Bedarf relevante Log-Auszüge zur Verfügung.
Viele Grüße
Claas