Opened 6 weeks ago

Last modified 5 weeks ago

#1810 new Bug/Fehler

WhosOnline: "Deadlock found when trying to get lock" bei InnoDB-Tabellen

Reported by: anonymous Owned by: somebody
Priority: normal Milestone: modified-shop-2.0.6.0
Component: Shop Version: 2.0.5.0

Description

Bitte zu dem Thema folgenden Thread beachten: 1213 - Deadlock found...

Die Fehlermeldung kann nach meinen Recherchen nur bei InnoDB-Tabellen entstehen. Sie kann unter noch mir nicht ganz klaren Umständen z.B. durch ON DUPLICATE KEY UPDATE in der Funktion xtc_update_whos_online() hervorgerufen werden.
Evtl. ensteht der Fehler weil direkt vor dem INSERT ein DELETE ausgeführt wird welcher die ganze Tabelle und/oder die betroffenen Zeilen lock-t.
Wie gesagt, ich hab's nicht ganz durchblickt.
Jedenfalls taucht der Fehler by MyISAM-Tabellen nicht auf.

Da nun bei Installation der Shop-Software die mySQL-Befehle die die Tabellen anlegen keine Angaben über die ENGINE haben, nimmt der mySQL-Server die ENGINE die als Default eingestellt ist, was auf sehr vielen Servern InnoDB ist, gerade wenn man auf PHP-Versionen ab 7 ist.
Eventuell sollte also was die Tabelle whos_online betrifft die ENGINE festgelegt werden um den Fehler um welchen es hier geht nicht zu bekommen.


Addendum:
Da MyISAM gegenüber InnoDB einige Vorteile hat und umgekehrt, ist es ohnehin vielleicht gut sich Gedanken darüber zu machen ob man die ENGINE bei Datenbankerstellung nicht angeben sollte, je nach Bedarf.

Gruß,
noRiddle

Attachments (0)

Change History (2)

comment:1 Changed 6 weeks ago by Tomcraft

  • Component changed from Admin to Shop
  • Milestone set to modified-shop-2.0.5.2
  • Version set to 2.0.5.0

comment:2 Changed 5 weeks ago by GTB

  • Milestone changed from modified-shop-2.0.5.2 to modified-shop-2.0.6.0

Add Comment

Modify Ticket

Action
as new
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.