Service Fabric:System.IndexOutOfRangeException -“System.RA”报告属性“ReplicaOpenStatus”的警告
Posted
技术标签:
【中文标题】Service Fabric:System.IndexOutOfRangeException -“System.RA”报告属性“ReplicaOpenStatus”的警告【英文标题】:Service Fabric: System.IndexOutOfRangeException - 'System.RA' reported Warning for property 'ReplicaOpenStatus' 【发布时间】:2021-09-22 11:09:41 【问题描述】:我正在尝试在我的 Service Fabric 集群上部署无状态应用程序。部署应用程序后,它会立即进入警告状态,然后出现以下错误:
“System.RA”报告属性“ReplicaOpenStatus”的警告。复制品 在 _nt1vm_4 上打开期间出现多次故障。接口调用: IStatelessServiceInstance.Open();错误 = System.IndexOutOfRangeException (-2146233080) 索引超出 数组的边界。在 System.Fabric.Common.Tracing.FabricEventSource.ExtensionsEventsInternal.WriteWarning(字符串 id,字符串类型,字符串消息)在 Microsoft.ServiceFabric.Services.Runtime.StatelessServiceInstanceAdapter.
d__0.MoveNext() 有关详细信息,请参阅:https://aka.ms/sfhealth
这发生在我的本地 SF 集群上以及在 Azure 上部署时。由于它甚至没有进入应用程序中的主程序,因此我无法看到任何其他有意义的日志或事件。我还登录了远程节点并查看了日志,除此之外没有发现任何其他内容。 从这条消息中并不清楚这个错误的来源,我无法在没有应用程序日志的情况下进行调试。
service fabric application error
【问题讨论】:
当通信侦听器无法打开时也会发生这种情况。您是否尝试在同一个端口上运行多个侦听器? 【参考方案1】:我会看两件事:
-
您是否对 ServiceEventSource 进行了任何更改,以使其在写出值时访问无效(负)索引?
在任何服务出现故障的入口类中的 RunAsync 方法中,将其全部包装在 try/catch 中,并在引发异常的位置设置断点 - 如果它无错误地运行,它至少会缩小底层的问题来自。
【讨论】:
以上是关于Service Fabric:System.IndexOutOfRangeException -“System.RA”报告属性“ReplicaOpenStatus”的警告的主要内容,如果未能解决你的问题,请参考以下文章
Service Fabric 反向代理 - 404 - FABRIC_E_SERVICE_DOES_NOT_EXIST
Azure Service Fabric 与 Azure Service Fabric Mesh
从 Powershell 部署 Service Fabric 应用程序,无需 Service Fabric SDK
Service Fabric Actors:使用最新版本的 Service Fabric nuget 包部署 Actors 时出现的问题