it-swarm.com.de

Wie kann ich Probleme mit Deadlocks und Lock Timeout-Typen beseitigen?

Ich habe mehrere Blogs gelesen, versucht zu googeln, fand aber keine Zufriedenheit mit irgendeiner Lösung. Ich habe folgende Probleme:

PDOException: SQLSTATE[40001]: Serialization failure: 1213 Deadlock found when trying to get lock; try restarting transaction: DELETE FROM {cache_field} WHERE (cid LIKE :db_condition_placeholder_0 ESCAPE '\\') ; Array ( [:db_condition_placeholder_0] => field\_info:% ) in cache_clear_all() (line 163 of \includes\cache.inc).

PDOException: SQLSTATE[HY000]: General error: 1205 Lock wait timeout exceeded; try restarting transaction: SELECT 1 AS expression FROM {sessions} sessions WHERE ( (sid = :db_condition_placeholder_0) AND (ssid = :db_condition_placeholder_1) )

Ich habe versucht, dies zu lösen, indem ich innodb_pool_buffer_size und wait_timeout in my.ini hat aber nicht funktioniert.

Ich habe die Engine meiner Cache-Tabelle von Innodb auf MyIasm geändert. Das Problem ist weg, aber es ist keine perfekte Lösung. Die Tabellen-Engine wird nach einem Upgrade von Drupal geändert. Dieses Problem betrifft nichts auf der Website, aber ich möchte nicht, dass dies auftritt.

Irgendeine Lösung Jungs?

18
Sumit Madan

Lesen und folgen dieser Beitrag ; es wird InnoDB angenommen.

Lesen Sie insbesondere den Teil, der besagt, dass der Datei settings.php Folgendes hinzugefügt werden soll.

$databases['default']['default']['init_commands'] = array('isolation' => "SET SESSION tx_isolation='READ-COMMITTED'");
17
mikeytown2

Der beste Weg, um Deadlock-Fehler ein für alle Mal zu beseitigen, ist das Modul Asynchronous Prefetch Database Query Cache .

Ich kann es nicht genug empfehlen. Genial geschrieben und großartige Leistungssteigerungen.

5
bmunslow

Ich habe versucht, Patch https://www.drupal.org/project/drupal/issues/16509 anzuwenden.

Ich habe immer noch Probleme mit AWS

0
Ankit Shah