VolatileActorStateProvider.IStateProvider.UpdateEpochAsync メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
プライマリ レプリカの変更または変更の試行によってレプリカ セットの構成が変更されたことをレプリカに示します。 この変更は、以前のプライマリ レプリカの障害または負荷分散が原因で発生します。 エポック変更は、特定のプライマリ レプリカによって送信された正確な構成期間に操作をセグメント化することで、バリアとして機能します。
System.Threading.Tasks.Task IStateProvider.UpdateEpochAsync (System.Fabric.Epoch epoch, long previousEpochLastSequenceNumber, System.Threading.CancellationToken cancellationToken);
abstract member System.Fabric.IStateProvider.UpdateEpochAsync : System.Fabric.Epoch * int64 * System.Threading.CancellationToken -> System.Threading.Tasks.Task
override this.System.Fabric.IStateProvider.UpdateEpochAsync : System.Fabric.Epoch * int64 * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Function UpdateEpochAsync (epoch As Epoch, previousEpochLastSequenceNumber As Long, cancellationToken As CancellationToken) As Task Implements IStateProvider.UpdateEpochAsync
パラメーター
- previousEpochLastSequenceNumber
- Int64
前のエポックで観察されている必要がある最大シーケンス番号 (LSN)。
- cancellationToken
- CancellationToken
CancellationToken操作が監視しているオブジェクト。 操作を取り消す必要があることを示す通知を送信するために使用できます。 取り消しはアドバイザリであり、取り消された場合でも操作が完了する可能性があることに注意してください。
戻り値
Task を返します。
実装
注釈
このメソッドは、レプリカ セットのプライマリ レプリカが変更されたか、変更が試行されたために呼び出されます。 セカンダリ レプリカは、新しいプライマリ レプリカになりそうになったとき、または新しいプライマリ レプリカでない場合は、レプリケーション ストリームから新しいプライマリ レプリカから最初の操作を取得しようとしたときに、このメソッドを受け取ります。 プライマリ レプリカをスワップしようとすると、プライマリ レプリカがこの方法を受け取る場合がありますが、これは失敗します。
メソッドの UpdateEpochAsync(Epoch, Int64, CancellationToken) 情報を使用すると、サービスは進行状況ベクトルを維持できます。これは、レプリカが受信した各エポックと、それらが含まれている最大 LSN の一覧です。 現在適用されている最大 LSN と共に進行状況ベクトル データは、セカンダリ レプリカがコピー操作中に送信して、操作の進行状況を説明するのに役立ちます。 コピー操作中にセカンダリ レプリカから受信した進行状況ベクトルを比較すると、プライマリ レプリカは、セカンダリ レプリカが最新かどうか、セカンダリ レプリカに送信する必要がある状態、およびセカンダリ レプリカが誤った進行状況を行ったかどうかを判断できます。 False の進行状況は、前のエポックの LSN が、プライマリ レプリカが受け取る LSN よりも大きかったことを意味します。
適用対象
Azure SDK for .NET