2016-08-31 1 views
0

ServiceFabricバージョン5.1.163.9590でステートフルサービスを使用して、自分の状態を管理する3つのWebApiサービスでデモアプリケーションをデプロイしようとしています。ServiceFabricステートフルサービスデプロイメントのトラブルシューティング

3つのサービスの2つは開始し、エラーなしで彼らのパーティションを作成しますが、最後のスピューイベント警告とエラーのシリーズ、エラー詳細は、この魅力的なメッセージがあります。

Microsoft.ServiceFabric.Replicator.LoggingReplicator : GetCopyState The parameter copyContext is null. This might be caused by deployment bug that 'hasPersistedState' attribute is false. 

を私はいずれかを見つけることができませんこのエラーメッセージへの外部参照。

アプリケーションやサービスの展開側、またはクラスタ管理側からこれを修正する方法はありますか?

答えて

2

このエラーは、永続状態のステートフルサービスがあることを示していますが、サービスを展開したときにサービスファブリックに通知していません。

サービスファブリックに、ステートフルサービスが永続化された状態(「volatile」状態ではなく、メモリ内のみを意味する)であることを示すフラグが設定されている必要があります。あなたのServiceManifest.xmlで

、あなたはサービスタイプに設定され、このフラグを持っていることを確認してください。

<ServiceTypes> 
     <StatefulServiceType ServiceTypeName="MyServiceType" HasPersistedState="true" /> 
    </ServiceTypes> 

その後、あなたはPowerShellを経由展開している場合、あなたはのインスタンスを作成するときに、このフラグを設定してくださいサービス:

PS > New-ServiceFabricService -Stateful -HasPersistedState -ServiceTypeName "MyServiceType" ... 
+0

サービスの作成後にHasPersistedStateフラグを変更できますか? – noocyte

関連する問題