【问题标题】:Azure Pipeline DB Build Fails Randomly with EsentVersionStoreOutOfMemoryException: Version store out of memoryAzure Pipeline DB Build 随机失败并出现 EsentVersionStoreOutOfMemoryException:版本存储内存不足
【发布时间】:2019-10-09 10:02:47
【问题描述】:

我们为 SSDT DACPAC 项目构建了 Azure DevOps Pipeline,设置为在持续集成上运行。它已经运行了几年,我们定期随机看到以下错误导致构建失败:

Microsoft.Isam.Esent.Interop.EsentVersionStoreOutOfMemoryException: Version store out of memory (cleanup already attempted)
   at Microsoft.Isam.Esent.Interop.Api.Check(Int32 err)
   at Microsoft.Isam.Esent.Interop.Api.JetUpdate(JET_SESID sesid, JET_TABLEID tableid, Byte[] bookmark, Int32 bookmarkSize, Int32& actualBookmarkSize)
   at Microsoft.Isam.Esent.Interop.Update.Save(Byte[] bookmark, Int32 bookmarkSize, Int32& actualBookmarkSize)
   ...

到目前为止,我们的解决方法是重新排队一个新的构建。 99% 的时间可以解决问题。直到今天。现在,我连续 3 次将新的 CI 构建排队,每次它都因相同的异常而失败。该项目在本地构建,因此管道构建过程存在一些问题。

是否可以在我们的 MSBuild Pipeline 构建过程中进行一些修复以消除此错误?

【问题讨论】:

    标签: azure-devops sql-server-data-tools azure-pipelines-build-task azure-devops-hosted-agent


    【解决方案1】:

    /p:CmdLineInMemoryStorage=true 添加到管道构建任务的 MSBuild 参数为我解决了这个问题。到目前为止。

    我发现了许多类似错误和修复的参考资料,但没有一个完全与针对 SSDT 的 Azure DevOps Pipeline 构建有关。

    见:

    【讨论】:

    • 太棒了!感谢您在此处分享您的解决方案,您可以接受它作为答案,这样它可以帮助遇到相同问题的其他社区成员,我们可以归档这个帖子,谢谢。
    【解决方案2】:

    使用“/p:Storage=File”这将使用更少的内存

    【讨论】:

      猜你喜欢
      • 2021-10-24
      • 2021-10-08
      • 2021-11-05
      • 1970-01-01
      • 2015-03-02
      • 1970-01-01
      • 1970-01-01
      • 2020-11-15
      • 2021-12-29
      相关资源
      最近更新 更多