J'ai lu plusieurs blogs, essayé de google, mais je n'ai trouvé aucune satisfaction dans aucune solution. J'ai les problèmes suivants:
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) )
J'ai essayé de résoudre ce problème en augmentant innodb_pool_buffer_size
et wait_timeout
dans my.ini mais n'a pas fonctionné.
J'ai changé le moteur de ma table de cache d'Innodb en MyIasm. Le problème a disparu mais ce n'est pas une solution parfaite. Le moteur de table sera modifié après une mise à niveau de drupal. Ce problème n'affecte rien sur le site mais je ne veux pas que cela se produise.
Des gars de solution?
Lisez et suivez cet article ; cela suppose InnoDB.
En particulier, voir la partie disant d'ajouter ce qui suit au fichier settings.php.
$databases['default']['default']['init_commands'] = array('isolation' => "SET SESSION tx_isolation='READ-COMMITTED'");
Le meilleur moyen de se débarrasser des erreurs de blocage une fois pour toutes est le module Asynchronous Prefetch Database Query Cache .
Je ne le recommanderai jamais assez. Brillamment écrit et de grands gains de performances.
J'ai essayé d'appliquer le patch https://www.drupal.org/project/drupal/issues/16509 .
Je suis toujours confronté à un problème sur AWS