Freigeben über


IStateProvider.OnDataLossAsync(CancellationToken) Methode

Definition

Gibt an, dass ein Schreibquorum von Replikaten in diesem Replikatsatz verloren gegangen ist und daher möglicherweise ein Datenverlust aufgetreten ist. Die Replikatmenge besteht aus einem Großteil der Replikate, einschließlich des primären Replikats.

public System.Threading.Tasks.Task<bool> OnDataLossAsync (System.Threading.CancellationToken cancellationToken);
abstract member OnDataLossAsync : System.Threading.CancellationToken -> System.Threading.Tasks.Task<bool>
Public Function OnDataLossAsync (cancellationToken As CancellationToken) As Task(Of Boolean)

Parameter

cancellationToken
CancellationToken

Das CancellationToken Objekt, das vom Vorgang beobachtet wird. Sie kann verwendet werden, um eine Benachrichtigung zu senden, dass der Vorgang abgebrochen werden soll. Beachten Sie, dass der Abbruch eine Empfehlung ist und dass der Vorgang möglicherweise trotzdem abgeschlossen wird, auch wenn er abgebrochen wird.

Gibt zurück

Gibt den Task<TResult> Typ Booleanzurück, der angibt, ob der Zustandsanbieter im Rahmen der Verarbeitung dieser Benachrichtigung seinen Zustand geändert hat.

Hinweise

Wenn die Service Fabric-Runtime den Fehler eines Quorums von Replikaten beobachtet, das das primäre Replikat umfasst, wählt sie ein neues primäres Replikat aus und ruft diese Methode sofort für das neue primäre Replikat auf. Ein primäres Replikat, das über mögliche Datenverluste informiert ist, kann seinen Zustand aus einer externen Datenquelle wiederherstellen oder die Ausführung mit dem zustand fortsetzen, den es derzeit hat. Wenn der Dienst weiterhin mit seinem aktuellen Zustand ausgeführt wird, sollte er false von dieser Methode zurückgeben, was angibt, dass keine Zustandsänderung vorgenommen wurde. Wenn der Zustand wiederhergestellt oder geändert wurde, z. B. ein Rollback unvollständiger Arbeit, sollte true zurückgegeben werden. Wenn true zurückgegeben wird, muss davon ausgegangen werden, dass der Zustand in anderen Replikaten falsch ist. Daher entfernt die Service Fabric-Runtime die anderen Replikate aus dem Replikatsatz und erstellt sie neu.

Gilt für: