【问题标题】:Azure worker role recycling with unhandled Service Bus fault message带有未处理的服务总线故障消息的 Azure 辅助角色回收
【发布时间】:2013-11-09 06:21:58
【问题描述】:

我一直在运行 Azure 辅助角色部署,它使用 Microsoft.ServiceBus 2.2 库来响应从其他辅助角色和 Web 角色发布的作业。最近(疑似在here讨论的操作系统更新时间前后),集群的实例开始不断回收,重启,运行一小段时间,然后再次回收。

我可以从诊断中的跟踪消息中确认角色实例一直通过我的 RoleEntryPoint 的 OnStart() 方法。有时,Azure 管理门户的“实例”窗格会提到回收角色遇到“未处理的异常”,但不会提供更多详细信息。使用远程桌面登录到其中一个实例后,我得到的两条线索是:

  1. 性能计数器表明 \Processor(_Total)\% Processor Time 徘徊在 100%,周期性地下降到 80 年代中期,同时 \TCPv4\Connections Establishment 下降。 \TCPv4\Connections established 中的一些下降与 \Processor(_Total)\% Processor Time 中的下降无关。
  2. 我能够在其中一个实例的服务器管理器的本地服务器事件中找到以下消息:

    应用程序:WaWorkerHost.exe 框架版本:v4.0.30319 说明:进程因未处理的异常而终止。 异常信息:Microsoft.ServiceBus.Common.CallbackException 堆: 在 Microsoft.ServiceBus.Common.Fx+IOCompletionThunk.UnhandledExceptionFrame(UInt32,UInt32,System.Threading.NativeOverlapped*) 在 System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32, UInt32, System.Threading.NativeOverlapped*)

在此期间,没有与服务总线关联的权限配置更改,尽管我们没有更新任何虚拟机,但仍会出现此消息。尽管如此,我们的服务似乎仍在运行 => 正在处理作业并将其从它们正在侦听的服务总线队列中删除。

大多数关于这些问题的谷歌搜索结果表明这与 IntelliTrace 有某种关系,但是,这些虚拟机没有启用 IntelliTrace。

有人对这里发生的事情有任何想法吗?

【问题讨论】:

  • 请提供您使用的服务总线库的版本。此外,是否有关于您使用服务总线库的尝试?有趣的是,一个未处理的异常已经完全爆发了。如果您在 Run 中捕获未处理的异常,它将导致重新启动。最后,您可能需要检查您的死信队列并查看有毒消息是否正在执行此操作。您看到的关于一连串失败的任何模式?
  • 谢谢 => 更新问题 => 服务总线 2.2。我会看看死信队列,虽然我们没有明确配置任何死信队列行为。
  • 糟糕,我选择了糟糕的措辞。我应该说,如果您在 Run 方法中获取未处理的异常,它将导致重新启动。您确实可以尝试捕获 Run 中的所有代码,对吗?另外,如果我记得正确的死信默认为 SB 队列启用,因为 MaxDeliveryCount 设置为 10 用于新队列,除非您更改它。

标签: c# azure azureservicebus


【解决方案1】:

从崩溃的角度来看,服务总线异常是一个红鲱鱼 - 在不同时间发布的两个不同 VM 角色之间发送的数据合同之一中的命名空间冲突。向其中一次接收重试期间抛出的异常添加额外的跟踪显示了它。它为什么会起作用仍然是个谜,而且角色回收并没有停止,只是服务总线异常。

【讨论】:

    【解决方案2】:

    我有类似的问题。主要原因是它无法解决Service Bus dll版本问题,请确保您在AppSettings中重定向的版本与您实际添加引用的版本相同。 任何 dll 不匹配都可能发生,不仅与服务总线 dll...

    【讨论】:

      猜你喜欢
      • 2012-07-28
      • 2013-02-28
      • 2020-07-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-06
      • 1970-01-01
      • 2017-11-01
      相关资源
      最近更新 更多