Service Fabric-'System.Replicator'报告了针对属性'RemoteReplicatorConnectionStatus'的警告。无法到达副本 xyz

问题描述 投票:0回答:1

错误是

'System.Replicator' reported Warning for property 'RemoteReplicatorConnectionStatus'.
Replica 132295460844367404 cannot be reached to start the copy process. Error Code: CannotConnect, Target listen address: localhost:62352/5298ce62-a8b6-4c10-944c-ce861fb5abd9-132295460844367404;70bcec58-3f57-4a23-b787-7353d53e631d:fdd277399fb82af80e7f8a0f097d244d. Verify that ReplicatorAddress config is valid.

有3个副本,其中2个卡在InBuild中。该错误报告来自主副本,并且它抱怨的copyId是卡在InBuild中的辅助副本之一。

我发现此错误的所有内容都与独立群集有关,但是我的群集是Azure生成的。什么原因导致此错误?仅当我部署多个副本时,这对于我的有状态服务才发生。

在主副本事件中,它为其他两个副本显示以下错误

 "Description": "The api IReplicator.BuildReplica(132295460844367404) on node _default_4 is stuck. Start Time (UTC): 2020-03-24 17:55:24.215.",

如果我将副本数设置为1,则不会出现该错误,直到我尝试升级该应用程序时,该应用程序创建了一个空闲副本以进行交换,并在此时卡在此错误上,导致升级无限期挂起。

同一应用程序可以无错误地部署到我的本地5节点群集。

azure-service-fabric service-fabric-stateful
1个回答
0
投票

我开始注释掉代码,以查看是否可以进入工作状态,并最终将其范围缩小到覆盖复制器设置的方式。

我正在这样做

public MyStateFulService(StatefulServiceContext context)
: base(context, new ReliableStateManager(context, new ReliableStateManagerConfiguration(new ReliableStateManagerReplicatorSettings
{
MaxReplicationMessageSize = 1073741824
}))){ }

并将其更改为

<Section Name="ReplicatorConfig">
    <Parameter Name="ReplicatorEndpoint" Value="ReplicatorEndpoint" />
    <Parameter Name="MaxReplicationMessageSize" Value="524288000" />
    <Parameter Name="MinLogSizeInMB" Value="4096" />
  </Section>

已解决问题。我假设我通过创建一个新的ReliableStateManagerReplicatorSettings对象来覆盖默认的复制器端点]

© www.soinside.com 2019 - 2024. All rights reserved.