2016-03-30 4 views
2

Ich versuche, eine Service Fabric-Anwendung mit einer Mischung aus Stateful und Stateless-Akteuren zu aktualisieren. Ich habe etwas Refactoring gemacht und so einige Schauspieler entfernt, die ich nicht mehr brauchte. Wenn ich jetzt versuche, die Anwendung zu aktualisieren, erhalte ich den folgenden Fehler: "Dienste müssen explizit gelöscht werden, bevor ihre Diensttypen entfernt werden."Service Fabric: entfernte Akteure und jetzt Upgrade fehlgeschlagen

Nachdem ich darüber nachgedacht habe, denke ich, Ich verstehe die Probleme, die von entfernten Diensten und Upgrades kommen könnte, aber dann, was ist der richtige Weg, dies zu tun?

Antwort

4

Sie müssen die Dienstinstanzen entfernen, bevor Sie auf eine Version aktualisieren können, die das entfernte Servicepaket nicht enthält. Entweder:

  • In SF Explorer, navigieren Sie zu dem Dienst und klicken Sie auf Aktionen> Löschen Dienst
  • In Powershell:

    Connect-ServiceFabricCluster 
    Remove-ServiceFabricService -ServiceName fabric:/MyApp/MyService 
    

DO ACHTUNG - Wenn Sie auf Löschen Bei einem Stateful Service verlieren Sie alle Daten. Stellen Sie sicher, dass Sie regelmäßig Produktionsdaten sichern.

+0

Danke! Ich konnte das herausfinden, was nahe bei dem ist, was Sie hier vorschlagen. Ich würde vorschlagen, ein Upgrade ohne Abhängigkeiten von den Diensten bereitzustellen, die Sie löschen möchten. Sobald das Upgrade erfolgreich ist, löschen Sie anschließend die Dienste und führen Sie ein Upgrade mit den entfernten Diensten erneut aus. Auf diese Weise können Sie von den Diensten, die Sie löschen möchten, entfernt werden, ohne andere Dienste zu unterbrechen, die von diesen Diensten abhängig sind. –

Verwandte Themen