Service Fabric 副本卡住

Service Fabric Replica Stuck

我正在升级 Service Fabric 上的应用程序,其中一个副本显示以下警告:

Unhealthy event: SourceId='System.RAP', Property='IStatefulServiceReplica.ChangeRole(S)Duration', HealthState='Warning', ConsiderWarningAsError=false. The api IStatefulServiceReplica.ChangeRole(S) on node _gtmsf1_0 is stuck. Start Time (UTC): 2018-03-21 15:49:54.326.

经过一些调试,我怀疑我没有正确接受取消标记。与此同时,我如何安全地强制重启这个卡住的副本以使服务再次运行?

Get-ServiceFabricDeployedReplica的部分结果:

...
ReplicaRole                : ActiveSecondary
ReplicaStatus              : Ready
ServiceTypeName            : MarketServiceType
...
ServicePackageActivationId : 
CodePackageName            : Code
...
HostProcessId              : 6180
ReconfigurationInformation : {
                             PreviousConfigurationRole            : Primary
                             ReconfigurationPhase                 : Phase0
                             ReconfigurationType                  : SwapPrimary
                             ReconfigurationStartTimeUtc          : 3/21/2018 3:49:54 PM
                             }

您可以将其直接传送到 Restart-ServiceFabricReplica。如果仍然卡住,那么您应该能够使用 Get-ServiceFabricDeployedCodePackageRestart-ServiceFabricDeployedCodePackage 重新启动周围的进程。由于 Restart-ServiceFabricDeployedCodePackage 具有选择随机包来模拟故障的选项,因此请确保针对您有兴趣重新启动的特定代码包。