クライアントサイトに巨大なデータがあり、複数のユーザーがcsvファイルをダウンロードしようとするとエラーが発生し、Viewデータエクスポートモジュールを介してCSVにダウンロードしたい。
ログメッセージで次のようなエラーが表示されます-
PDOException: SQLSTATE[HY000]: General error: 1205 Lock wait timeout exceeded; try restarting transaction:
Mysqlengine innodb status\G;を使用してinnodbステータスを確認しようとすると、キャッシュテーブルへの挿入のデッドロックを示しています。
誰でもこれを手伝ってくれる?
https://www.drupal.org/project/apdqc は、あなたが説明している問題のかなり良い解決策です。モジュールをインストールして、ステータスレポートページ(admin/reports/status
);次に、さまざまなテストを実行し、settings.php、php.ini、およびmy.cnfファイルで変更することについてアドバイスを提供します。
ほとんどのキャッシュデッドロックの根本的な原因は、切り詰めクエリと挿入クエリが互いに競合していることです。