【问题标题】:Azure Service Fabric gets terminated in local cluster when running tests运行测试时 Azure Service Fabric 在本地群集中终止
【发布时间】:2019-03-20 14:41:09
【问题描述】:

因此,我们使用 Azure Service Fabric 并在尝试针对我的本地开发集群运行 API 测试时出现奇怪的行为。

每次我开始测试时,应用程序都会终止,有时它会再次重新启动,但大多数情况下它只是保持终止状态(甚至从集群中删除)。

我猜它在某种程度上与我运行 API 测试相关联,它会运行并构建服务结构正在使用的东西,但由于结果因某些东西(可能是太阳?)而异,所以感觉就像我要么缺少某些内容或遇到服务结构的错误。

有人知道吗?将我视为菜鸟,并假设我自己做错了什么(至少我正在这样做)。

更新

有一个关于我们如何运行测试的问题:

  1. 启动 2 个 Visual Studio 实例
  2. 在两者中打开相同的.sln
  3. 启动 Service Fabric 项目。
  4. 等到集群报告正常。
  5. 使用 Resharper 测试运行程序通过单元测试(服务总线测试和 REST 测试)运行 api 测试

现在我们得到了诊断中附加的消息。

诊断:

事件 #1

{   
 "Timestamp": "2018-10-16T08:14:03.0590414+02:00",  
 "ProviderName": "Microsoft-ServiceFabric",   
 "Id": 23083,   
 "Message": ApplicationHostTerminated:   ApplicationId=fabric:/<MyService>,      ServiceName=fabric:/<MyService>,  ServicePackageName=<MyPackage>,      ServicePackageActivationId=8f36ac97-9271-4a49-94ce-dd296aebffa5,      IsExclusive=True,  CodePackageName=Code,  EntryPointType=Exe,      ExeName=MyExe,  ProcessId=24568, HostId=d2a820b5-5b4d-42af-ae87-350028a3fa72,  ExitCode=3221225786, UnexpectedTermination=False,  StartTime=10/16/2018 08:12:14. ",  
 "ProcessId": 22660,   
 "Level": "Informational",   
 "Keywords": "0x4000000000000001",   
 "EventName": "Hosting",   
 "ActivityID": null, 
 "RelatedActivityID": null,   
 "Payload": {
     "eventInstanceId": "\"07f15452-2f75-49e3-ad5d-d16ea49bdc8f\"",
     "applicationName": "MyAppName",
     "ServiceName": "fabric:/MyServiceName",
     "ServicePackageName": "MyPackageName",
     "ServicePackageActivationId": "8f36ac97-9271-4a49-94ce-dd296aebffa5",
     "IsExclusive": true,
     "CodePackageName": "Code",
     "EntryPointType": 1,
     "ExeName": "MyExe",
     "ProcessId": 24568,
     "HostId": "d2a820b5-5b4d-42af-ae87-350028a3fa72",
     "ExitCode": 3221225786,
     "UnexpectedTermination": false,
     "StartTime": "\"\/Date(1539670334917)\/\""   
 } 
}

事件 #2

{   
 "Timestamp": "2018-10-16T08:14:02.3557708+02:00",  
 "ProviderName": "Microsoft-ServiceFabric",   
 "Id": 29625,   
 "Message": "Application deleted: Application = fabric:/MyApp, Application Type = MyServiceType ",   
 "ProcessId": 22660,   
 "Level": "Informational",  
 "Keywords": "0x4000000000000001",   
 "EventName": "CM",   
 "ActivityID": null,   
 "RelatedActivityID": null,   
 "Payload": {
     "eventInstanceId": "\"ca608cec-8d55-4606-a331-8ebfcfff8fa6\"",
     "applicationName": "fabric:/MyAppName",
     "applicationTypeName": "MyAppTypeName",
     "applicationTypeVersion": "1.0.0"   
 } 
}

【问题讨论】:

  • 您能否提供更多有关如何执行 API 测试的信息?例如:1)在本地集群上构建和部署应用程序。 2)运行我的测试工具。
  • 当然,我已经更新了问题。
  • 您是否通过 F5 启动 Service Fabric 项目?如果您将 Service Fabric 项目发布到本地集群(使用发布功能)然后运行测试,是否会发生这种情况?
  • 正确我从 F5 开始。例如,在调查错误时,我们希望在执行此操作时打开调试器。
  • 关于发布,只要我不附加调试器就可以了

标签: azure-service-fabric


【解决方案1】:

我认为您可以体验为您的.sfproj 设置的Application Debug Mode 的副作用。

默认情况下,应用程序调试模式设置为Refresh Application(如果您使用的是5节点集群,则会自动更改为Remove Application)或Remove Application调试模式。这指示 Visual Studio 为每个调试会话重新创建应用程序,并在会话结束时将其删除。

将其更改为 Keep Application 应该可以防止 Visual Studio 在调试会话期间重新创建应用程序。

【讨论】:

    猜你喜欢
    • 2016-09-28
    • 2016-10-23
    • 2018-10-08
    • 2018-12-31
    • 2017-09-27
    • 2019-03-21
    • 2017-08-13
    • 2018-10-27
    • 2017-05-06
    相关资源
    最近更新 更多