Lösung: Magento General error: 1205 Lock wait timeout exceeded nach Kategorie verschieben – Kategorien falsche Reihenfolge

Hier die Lösung für ein seltsames Magento Problem. Die Reihenfolge der Kategorien im Frontend war anders als im Backend angelegt. Es handelte sich um eine Magento 1.9 Shop der zuvor geupgraded wurde sowie ein eingekauftes Template erhalten hat.

Beschreibung des Fehlers.

Zunächst in die Katalog-Verwaltung(Katalog – > Kategorien verwalten). Dort per drag and drop eine Hauptkategorie verschoben. Sprich die Reihenfolge geändert. Nun dauerte es Ewigkeiten, bis etwas passiert. Das Ladesymbol drehte sich aber passierte nichts.

Der erneute Aufruf des Backends über anderen Tab/Fenster zeigte folgenden Fehler:

SQLSTATE[HY000]: General error: 1205 Lock wait timeout exceeded; try restarting transaction, query was: INSERT INTO `index_process_event` (`process_id`,`event_id`,`status`) VALUES (?, ?, ?) ON DUPLICATE KEY UPDATE `status` = VALUES(`status`)

 

General error 1205 Lock wait timeout exceede

 

 

Im Frontend sah der Fehler wie folgt aus:

Die Hauptkategorien wurden alle normal angezeigt. Jedoch war teilweise die Reihenfolge falsch. Die Kategorie welche an 5ter Stelle sein sollte war irgendwo ganz anders. Die Kategorien wurden scheinbar rein nach deren IDs absteigend aufgelistet.

Lösung:

Meine Vermutung war, dass die Zuordnung der Kategorien und Positionen nicht stimmte. Reine Verschieben funktionierte nicht. Das führte immer zu neuen Fehlermeldungen. Somit schien die Zuordnung zwischen Positionen und Kategorien komplett durcheinander.

Es klappte aber bestehende Kategorien einfach erneut zu speichern ohne lange Ladezeiten oder Fehlermeldungen. Idee war nun nichts zu ändern und schlicht alle Hauptkategorien erst einmal zu speichern, wie diese waren. Das sollte dazu führen, dass einmal alle Zustände korrekt abgespeichert werden. Und im Anschluss sollten die Datenbank wieder sauber sein, sodass man die Kategorien korrekt sortieren kann

Das war es scheinbar auch 😉 Habe mir die Datenbank nicht angeschaut. Backend und Frontend machen aber wieder das was Sie sollen.

Wodurch der Fehler aber verursacht wurde?

Leider keine Ahnung… Vermutlich eine Transaktion die nur halb ausgeführt wurde oder ähnliches und dann zu Chaos führte.

 

 

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert