Реплика Service Fabric зависла

Я обновляю приложение в Service Fabric, и одна из реплик показывает следующее предупреждение:

Нездоровое событие: SourceId = 'System.RAP', Property = 'IStatefulServiceReplica.ChangeRole (S) Duration', HealthState = 'Предупреждение', рассмотрениеWarningAsError = false. API IStatefulServiceReplica.ChangeRole (S) на узле _gtmsf1_0 зависает. Время начала (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
                             }

person Sam Schneider    schedule 21.03.2018    source источник


Ответы (1)


Возможно, вы сможете передать это напрямую Restart-ServiceFabricReplica. Если это так и не удалось, вы сможете использовать Get-ServiceFabricDeployedCodePackage и Restart-ServiceFabricDeployedCodePackage для перезапуска окружающего процесса. Поскольку Restart-ServiceFabricDeployedCodePackage имеет опции для выбора случайных пакетов для имитации сбоя, просто убедитесь, что вы выбрали конкретный пакет кода, который вы хотите перезапустить.

person masnider    schedule 21.03.2018
comment
И да, убедитесь, что вы соблюдаете эти жетоны отмены. Они важны;) - person masnider; 22.03.2018
comment
Я принял это близко к сердцу, поверьте мне! - person Sam Schneider; 24.03.2018