【问题标题】:TFS2013: Build Warehouse Sync Job FailedTFS2013:构建仓库同步作业失败
【发布时间】:2016-09-22 01:24:00
【问题描述】:

我在 6 个集合中的 1 个集合上遇到了跟随失败错误。其他 5 个正在完成这项工作而没有失败。我尝试使用 WarehouseControlWebService 手动运行它,但它不起作用。有关如何解决此问题的任何帮助。我知道 SQL 端正在工作,因为其他端正在运行它而没有错误。

Job JobProcessingStatus="Idle" Name="Build Warehouse Sync"

LastRun Result="Failed" EndTimeUtc="2016-05-26T01:13:03.253Z" ExecutionStartTimeUtc="2016-05-26T00:52:57.857Z" QueueTimeUtc="2016-05-26T00:52:57.603Z "

[Build Warehouse Sync]:---> Microsoft.TeamFoundation.Warehouse.WarehouseException:TF221122:为团队项目集合或 Team Foundation 服务器 Collection2 运行作业 Build Warehouse Sync 时发生错误。 ---> System.OutOfMemoryException:引发了“System.OutOfMemoryException”类型的异常。在 System.Text.StringBuilder.ToString() 在 Microsoft.TeamFoundation.Warehouse.WarehouseBatchedDataAccessComponent.FormatFactEntriesXml(事实,IEnumerable1 entries) at Microsoft.TeamFoundation.Warehouse.WarehouseBatchedDataAccessComponent.SaveFactEntries(Fact fact, IEnumerable1 条目,布尔 allowUpdate)在 Microsoft.TeamFoundation.Build.Adapter.WarehouseEntry.SaveFactEntries(WarehouseBatchedDataAccessComponent dac, WarehouseConfig 配置,IEnumerable1 entries, Boolean allowUpdate) at Microsoft.TeamFoundation.Build.Adapter.BuildBatch.SaveBatch() at Microsoft.TeamFoundation.Build.Adapter.TeamBuildWarehouseAdapter.ProcessAndUploadBuildData() at Microsoft.TeamFoundation.Build.Adapter.TeamBuildWarehouseAdapter.MakeDataChanges() at Microsoft.TeamFoundation.Warehouse.WarehouseSyncJobExtension1.MakeDataChanges(TeamFoundationRequestContext requestContext, TeamFoundationJobDefinition jobDefinition, String& resultMessage) 在 Microsoft.TeamFoundation.Warehouse.WarehouseSyncJobExtension`1.RunInternal(TeamFoundationRequestContext requestContext, TeamFoundationJobDefinition jobDefinition, DateTime queueTime, String& resultMessage) 在 Microsoft.TeamFoundation。 Warehouse.WarehouseJobExtension.Run(TeamFoundationRequestContext requestContext, TeamFoundationJobDefinition jobDefinition, DateTime queueTime, String& resultMessage) --- 内部异常堆栈跟踪结束---

【问题讨论】:

  • 这个合集和其他合集有什么区别? System.OutOfMemoryException 表示您正在尝试做一些您没有记忆的事情。

标签: tfs data-warehouse


【解决方案1】:

您可以尝试rebuild the TFS data warehouse and cube 看看问题是否仍然存在。请注意,根据数据仓库中的数据量,重建操作可能需要几个小时才能完成,在此期间无法提供报告。

【讨论】:

    【解决方案2】:

    在 Microsoft 的帮助下,我们不得不修改作业的批量大小。下面是我所做的笔记。调整大小几次并让它运行后,它被清除了。

    在配置数据库中使用此查询来确定要修改的集合数据库的 HostID

    选择 *

    来自 tbl_ServiceHost

    样本:

    主机名 185C91E1-2EB5-4C9C-AE97-26B757DE951B 测试未生成 AD455D2B-7A84-4BF6-A8F2-594895066472 DefaultCollection 8F2ECA36-47BE-4244-B4C7-E2AABC7693FE 团队基金会 8D9C0BCE-19AB-425B-8D27-ECDE6573A493 新

    所以要使用 DefaultCollection,我们需要 HostId:AD455D2B-7A84-4BF6-A8F2-594895066472

    在此插入查询中输入 HostID 以在仓库数据库中运行:

    插入 [_PropertyBag] ( [Property_Scope], [Property_Key], [适当的价值] ) 价值观 ( ' AD455D2B-7A84-4BF6-A8F2-594895066472', -- 来自 tbl_ServiceHost 的主机 ID '/Adapter/Config/TeamBuild/BatchSize', -- 要更新的属性,这是构建仓库同步的关键 '100' -- 新批量大小(默认为 2000)
    )

    我们希望将其降低到一个非常小的数字,然后让它运行并确保它成功运行,如果不是,我们可以将它降低到 1 并尝试,如果可以(根据您的判断)移动它如果您想提高处理速度,请备份。

    最好停止所有仓库同步作业并运行有问题的 1 个作业。需要时间来解决问题。确保数据库由 TFS_Warehouse 创建。

    这用于修复以下错误:

    Build Warehouse Sync:---> Microsoft.TeamFoundation.Warehouse.WarehouseException:TF221122:为团队项目集合或 Team Foundation 服务器 AS 运行作业 Build Warehouse Sync 时发生错误。 ---> System.OutOfMemoryException:引发了“System.OutOfMemoryException”类型的异常。在 System.Text.StringBuilder.ToString() 在 Microsoft.TeamFoundation.Warehouse.WarehouseBatchedDataAccessComponent.FormatFactEntriesXml(事实,IEnumerable1 entries) at Microsoft.TeamFoundation.Warehouse.WarehouseBatchedDataAccessComponent.SaveFactEntries(Fact fact, IEnumerable1 条目,布尔 allowUpdate)在 Microsoft.TeamFoundation.Build.Adapter.WarehouseEntry.SaveFactEntries(WarehouseBatchedDataAccessComponent dac, WarehouseConfig 配置,IEnumerable1 entries, Boolean allowUpdate) at Microsoft.TeamFoundation.Build.Adapter.BuildBatch.SaveBatch() at Microsoft.TeamFoundation.Build.Adapter.TeamBuildWarehouseAdapter.ProcessAndUploadBuildData() at Microsoft.TeamFoundation.Build.Adapter.TeamBuildWarehouseAdapter.MakeDataChanges() at Microsoft.TeamFoundation.Warehouse.WarehouseSyncJobExtension1.MakeDataChanges(TeamFoundationRequestContext requestContext, TeamFoundationJobDefinition jobDefinition, String& resultMessage) 在 Microsoft.TeamFoundation.Warehouse.WarehouseSyncJobExtension`1.RunInternal(TeamFoundationRequestContext requestContext, TeamFoundationJobDefinition jobDefinition, DateTime queueTime, String& resultMessage) 在 Microsoft.TeamFoundation。 Warehouse.WarehouseJobExtension.Run(TeamFoundationRequestContext requestContext, TeamFoundationJobDefinition jobDefinition, DateTime queueTime, String& resultMessage) — 内部异常堆栈跟踪结束 ---

    【讨论】:

      猜你喜欢
      • 2016-12-29
      • 1970-01-01
      • 2018-03-08
      • 1970-01-01
      • 1970-01-01
      • 2019-08-03
      • 2016-02-04
      • 1970-01-01
      • 2021-11-09
      相关资源
      最近更新 更多