【问题标题】:Laravel - DatabaseTransactions - Lock wait timeout exceededLaravel - DatabaseTransactions - 超过锁定等待超时
【发布时间】:2019-11-20 02:10:40
【问题描述】:

我们使用 DatabaseTransactions trait 和 MySQL 数据库连接来执行单元测试(很多)。

在执行完整的测试套件时,我们会收到 15 个左右的“一般错误:1205 Lock wait timeout exceeded;”。 单独执行这些测试时,它们都成功了。

问题主要出现在执行 sync() 方法时,但不仅如此。

(试图增加等待超时,没有运气)。

任何建议将不胜感激。

也发布在 laracasts 中:https://laracasts.com/discuss/channels/testing/test-suite-general-error-1205-lock-wait-timeout-exceeded

【问题讨论】:

  • 您能否向我们展示一个有时会失败的测试示例?您的项目设置是否与默认设置有任何偏差?诸如多个数据库、并行运行的测试等。

标签: mysql laravel transactions phpunit database-deadlocks


【解决方案1】:

发现失踪的parent::tearDown(); 是有罪的。

因此,交易没有关闭。

问题已解决。

【讨论】:

    猜你喜欢
    • 2016-12-16
    • 2011-01-07
    • 1970-01-01
    • 2017-02-01
    • 2011-12-25
    • 2018-03-29
    • 1970-01-01
    • 1970-01-01
    • 2010-12-29
    相关资源
    最近更新 更多