次の方法で共有


VolatileActorStateProvider クラス

public class VolatileActorStateProvider implements ActorStateProvider,StateProvider

揮発性永続化の ActorStateProvider の実装、つまりアクターの状態はメモリ内でのみ保持されます。

コンストラクターの概要

コンストラクター 説明
VolatileActorStateProvider()

VolatileActorStateProvider のインスタンスを作成します。

VolatileActorStateProvider(ReplicatorSettings replicatorSettings)

指定したレプリケーター設定を使用して の VolatileActorStateProvider インスタンスを作成します。

メソッドの概要

修飾子と型 メソッドと説明
void abort()

状態プロバイダー レプリカを強制的に中止します。

発言:これは通常、ノードで永続的な障害が検出された場合、または内部障害が原因で Service Fabric がレプリカのライフ サイクルを確実に管理できない場合に発生します。

CompletableFuture<?> actorActivatedAsync(ActorId actorId, CancellationToken cancellationToken)

このメソッドは、指定された ID を持つアクターのアクティブ化プロセスの一部として呼び出されます。

CompletableFuture<?> backupAsync(BackupOption option, Duration timeout, CancellationToken cancellationToken, BiFunction<BackupInfo, CancellationToken, CompletableFuture<Boolean>> backupCallback)

このアクター状態プロバイダーによって管理されている状態の完全バックアップを実行します

発言:バックアップ/復元は では VolatileActorStateProviderサポートされていません。

CompletableFuture<?> backupAsync(BiFunction<BackupInfo, CancellationToken, CompletableFuture<Boolean>> backupCallback)

このアクター状態プロバイダーによって管理されている状態の完全バックアップを実行します

発言:バックアップ/復元は では VolatileActorStateProviderサポートされていません。

CompletableFuture<?> changeRoleAsync(ReplicaRole newRole, CancellationToken cancellationToken)

状態プロバイダー レプリカに、そのロールが変更されていることを通知します (たとえば、プライマリまたはセカンダリ)。

CompletableFuture<?> closeAsync(CancellationToken cancellationToken)

状態プロバイダー レプリカを正常に閉じます。

発言:これは通常、レプリカのコードがアップグレード中、負荷分散のためにレプリカが移動中、または一時的な障害が検出された場合に発生します。

CompletableFuture<Boolean> containsStateAsync(ActorId actorId, String stateName, CancellationToken cancellationToken)

アクター状態プロバイダーに、指定された状態名を持つアクター状態が含まれているかどうかを確認します。

ReplicaRole currentReplicaRole()
CompletableFuture<?> deleteReminderAsync(ActorId actorId, String reminderName, CancellationToken cancellationToken)

指定したアクター アラームが存在する場合は削除します。

CompletableFuture<?> deleteRemindersAsync(Map<ActorId, Collection<String>> reminderNames, CancellationToken cancellationToken)

指定したアラームのセットを削除します

CompletableFuture<List<String>> enumerateStateNamesAsync(ActorId actorId, CancellationToken cancellationToken)

指定したアクターに関連付けられているすべての状態名の列挙可能な を作成します。

発言:アクター状態プロバイダーから返される列挙子は、状態プロバイダーへの読み取りと書き込みと同時に使用しても安全です。 これは、状態プロバイダーのスナップショット一貫性のあるビューを表します。

CompletableFuture<PagedResult<ActorId>> getActorsAsync(int itemsCount, ContinuationToken continuationToken, CancellationToken cancellationToken)

状態プロバイダーから ActorIds を取得します。

発言: 次の値を使用

OperationDataStream getCopyContext()

セカンダリ レプリカが作成され、プライマリ レプリカにコンテキストを送信するために開かれた後に、セカンダリ レプリカのコンテキストを取得します。

発言:プライマリ レプリカはコンテキストを分析し、 を使用して状態を getCopyState(SequenceNumber upToSequenceNumber, OperationDataStream copyContext)返送します。 getCopyContext() は、新しく作成されたアイドル状態のセカンダリ レプリカで呼び出され、プライマリ レプリカとの双方向の会話を非同期的に確立するメカニズムを提供します。 セカンダリ レプリカは、セカンダリ レプリカでコンテキストの収集の進行状況をプライマリ レプリカが判断できるオブジェクトを送信 OperationData します。 プライマリ レプリカは、必要な状態を返送することで応答します。 交換の残りの半分については、プライマリ レプリカを参照してください getCopyState(SequenceNumber upToSequenceNumber, OperationDataStream copyContext) 。 メモリ内サービスの場合、 getCopyContext() セカンダリ レプリカの状態がわかっている (これらは空であり、すべての状態が必要になります) ため、 メソッドは呼び出されません。

OperationDataStream getCopyState(SequenceNumber upToSequenceNumber, OperationDataStream copyContext)

セカンダリ レプリカのビルドに必要なプライマリ レプリカの状態を取得します。

発言:セカンダリ レプリカが を介して getCopyState(SequenceNumber upToSequenceNumber, OperationDataStream copyContext)OperationDataStreamプライマリ レプリカにコンテキストを送信できるようにするのと同様getCopyContext()に、プライマリ レプリカは でOperationDataStream応答できます。 ストリームには、 クラスの メソッドを使用してセカンダリ レプリカに getCopyStream() 配信されるオブジェクトが FabricReplicator 含まれています。 オブジェクトは、指定されたデータを実装 Operation し、格納します。 プライマリ レプリカは、この呼び出しを受信すると、 を含むOperationDataOperationDataStreamの レプリカを作成して返す必要があります。 OperationData は、セカンダリ レプリカのデータ/状態を表します。

long getLastCommittedSequenceNumber()

サービスがコミットした最後のシーケンス番号を取得します。

発言:このメソッドは、永続的な状態がある場合やデータ損失が疑われる場合に備えて、サービスが最初に起動したときに呼び出されます。 ステートフル サービス レプリカは、起動時に、以前の更新プログラムから永続化された可能性のあるデータを復元するオプションがあります。 この方法で何らかの状態を復元した場合、現在の進行状況はそのデータの最後に書き込まれたシーケンス番号になります。 揮発性サービスは、単に 0 を返すことができます。 このメソッドは、フェールオーバー中に新しいプライマリ選択を決定するために呼び出されないことに注意してください。これは、現在コミットされた進行状況は、その時点で クラスによって FabricReplicator 既に認識されているためです。

void initialize(ActorTypeInformation actorTypeInformation)

アクター状態プロバイダーに関連付けられているアクター型の型情報を使用して初期化します。

void initialize(StatefulServiceInitializationParameters initializationParameters)

サービスの初期化情報を使用して、状態プロバイダー レプリカを初期化します。

発言:初期化中に複雑な処理を行う必要はありません。 OpenAsync では、コストのかかる初期化または実行時間の長い初期化を行う必要があります。

CompletableFuture<ActorReminderCollection> loadRemindersAsync(CancellationToken cancellationToken)

アクター状態プロバイダーに含まれるすべてのアラームを読み込みます。

<T> CompletableFuture<T> loadStateAsync(ActorId actorId, String stateName, CancellationToken cancellationToken)

指定した状態名に関連付けられているアクター状態を読み込みます。

CompletableFuture<Boolean> onDataLossAsync(CancellationToken cancellationToken)

このレプリカ セット内のレプリカの書き込みクォーラムが失われたため、データ損失が発生した可能性があることを示します。 レプリカ セットは、プライマリ レプリカを含むレプリカの大部分で構成されます。

発言:Service Fabric ランタイムは、プライマリ レプリカを含むレプリカのクォーラムの障害を観察すると、新しいプライマリ レプリカを選択し、新しいプライマリ レプリカで直ちにこのメソッドを呼び出します。 データ損失の可能性が通知されたプライマリ レプリカは、一部の外部データ ソースから状態を復元するか、現在の状態で引き続き実行できます。 サービスが現在の状態で引き続き実行される場合は、このメソッドから false を返す必要があります。これは、状態の変更が行われなかったことを示します。 不完全な作業のロールバックなど、状態を復元または変更した場合は、true を返す必要があります。 true が返された場合は、他のレプリカの状態が正しくないと見なす必要があります。 そのため、Service Fabric ランタイムは、レプリカ セットから他のレプリカを削除して再作成します。

CompletableFuture<?> onSnapshotAsync(Duration currentLogicalTime)
CompletableFuture<Replicator> openAsync(ReplicaOpenMode openMode, StatefulServicePartition partition, CancellationToken cancellationToken)

使用する状態プロバイダー レプリカを開きます。

発言:拡張状態プロバイダーの初期化タスクは、現時点で開始できます。

CompletableFuture<?> reminderCallbackCompletedAsync(ActorId actorId, ActorReminder reminder, CancellationToken cancellationToken)

アラームが起動し、コールバック receiveReminderAsync(String reminderName, byte[] context, Duration timeSpan, Duration period) の正常な実行が完了したときに呼び出されます

CompletableFuture<?> removeActorAsync(ActorId actorId, CancellationToken cancellationToken)

指定したアクターに関連付けられている既存の状態とアラームをすべてアトミックに削除します。

CompletableFuture<?> restoreAsync(String backupFolderPath)

によって作成された microsoft.servicefabric.data.StateProviderReplica#backupAsync(BiFunction) バックアップの復元または microsoft.servicefabric.data.StateProviderReplica#backupAsync(BackupOption, Duration, CancellationToken, BiFunction)備考:バックアップ/復元は では VolatileActorStateProviderサポートされていません。

CompletableFuture<?> restoreAsync(String backupFolderPath, RestorePolicy restorePolicy, Duration timeout, CancellationToken cancellationToken)

によって作成された microsoft.servicefabric.data.StateProviderReplica#backupAsync(BiFunction) バックアップの復元または microsoft.servicefabric.data.StateProviderReplica#backupAsync(BackupOption, Duration, CancellationToken, BiFunction)備考:バックアップ/復元は では VolatileActorStateProviderサポートされていません。

CompletableFuture<?> saveReminderAsync(ActorId actorId, ActorReminder reminder, CancellationToken cancellationToken)

指定したアクターアラームを保存します。 指定された名前のアクター アラームが存在しない場合は、アクター アラームが追加されます。それ以外の場合は、同じ名前の既存のアクター アラームが更新されます。

CompletableFuture<?> saveStateAsync(ActorId actorId, List<ActorStateChange> stateChanges, CancellationToken cancellationToken)

指定したアクター状態の変更のセットをアトミックに保存します。

void setOnDataLossCallback(Function<CancellationToken, CompletableFuture<Boolean>> onDataLossAsync)

データ損失の疑いがある場合に呼び出される関数

String traceId()
String traceType()
Duration transientErrorRetryDelay()
CompletableFuture<?> updateEpochAsync(Epoch epoch, SequenceNumber previousEpochLastSequenceNumber, CancellationToken cancellationToken)

プライマリ レプリカの変更または変更が試行されたためにレプリカ セットの構成が変更されたことをレプリカに示します。 この変更は、以前のプライマリ レプリカの障害または負荷分散が原因で発生します。 エポック変更は、特定のプライマリ レプリカによって送信された正確な構成期間に操作をセグメント化することで、バリアとして機能します。

発言:このメソッドは、レプリカ セットのプライマリ レプリカが変更されたか、変更が試行されたために呼び出されます。 セカンダリ レプリカは、新しいプライマリ レプリカになりそうになったとき、または新しいプライマリ レプリカでない場合は、レプリケーション ストリームから新しいプライマリ レプリカから最初の操作を取得しようとしたときに、この方法を受け取ります。 プライマリ レプリカをスワップしようとして失敗した場合、プライマリ レプリカがこの方法を受け取ることがあります。 メソッドの updateEpochAsync(Epoch epoch, SequenceNumber previousEpochLastSequenceNumber, CancellationToken cancellationToken) 情報を使用すると、サービスは進行状況ベクトル (レプリカが受信した各エポックの一覧)、およびそれらが含まれている最大 LSN を維持できます。 現在適用されている最大 LSN と共に進行状況ベクトル データは、セカンダリ レプリカがコピー操作中に送信して、操作の進行状況を示すために役立ちます。 コピー操作中にセカンダリ レプリカから受信した進行状況ベクトルを比較すると、プライマリ レプリカは、セカンダリ レプリカが最新かどうか、セカンダリ レプリカに送信する必要がある状態、およびセカンダリ レプリカが誤った進行状況を行ったかどうかを判断できます。 False の進行状況は、以前のエポックの LSN が、プライマリ レプリカが受け取る LSN より大きいことを意味します。

コンストラクターの詳細

VolatileActorStateProvider

public VolatileActorStateProvider()

VolatileActorStateProvider のインスタンスを作成します。

VolatileActorStateProvider

public VolatileActorStateProvider(ReplicatorSettings replicatorSettings)

指定したレプリケーター設定を使用して の VolatileActorStateProvider インスタンスを作成します。

パラメーター:

replicatorSettings - ReplicatorSettingsレプリケーターの設定を記述する オブジェクト。

メソッドの詳細

abort

public void abort()

状態プロバイダー レプリカを強制的に中止します。

発言:これは通常、ノードで永続的な障害が検出された場合、または内部障害が原因で Service Fabric がレプリカのライフ サイクルを確実に管理できない場合に発生します。

上書き:

VolatileActorStateProvider.abort()

actorActivatedAsync

public CompletableFuture actorActivatedAsync(ActorId actorId, CancellationToken cancellationToken)

このメソッドは、指定された ID を持つアクターのアクティブ化プロセスの一部として呼び出されます。

上書き:

VolatileActorStateProvider.actorActivatedAsync(ActorId actorId, CancellationToken cancellationToken)

パラメーター:

actorId - アクティブ化されたアクターの ID。
cancellationToken -

CancellationToken オブジェクトを使用して、操作のキャンセル状態を示します。

戻り値:

非同期アクターアクティブ化通知処理を表すタスク。

backupAsync

public CompletableFuture backupAsync(BackupOption option, Duration timeout, CancellationToken cancellationToken, BiFunction> backupCallback)

このアクター状態プロバイダーによって管理されている状態の完全バックアップを実行します

発言:バックアップ/復元は では VolatileActorStateProviderサポートされていません。

上書き:

VolatileActorStateProvider.backupAsync(BackupOption option, Duration timeout, CancellationToken cancellationToken, BiFunction<BackupInfo, CancellationToken, CompletableFuture<Boolean>> backupCallback)

パラメーター:

option -

BackupOption コールバックの

timeout -

java.time.Duration バックアップのタイムアウトを表す

cancellationToken - キャンセル要求を監視するためのトークン。
backupCallback - BackupCallbackCallback は、バックアップ フォルダーがローカルに作成され、ノードから移動する準備ができたときに呼び出されます。

戻り値:

非同期バックアップ操作を表すタスク。

スロー:

UnsupportedOperationException

backupAsync

public CompletableFuture backupAsync(BiFunction> backupCallback)

このアクター状態プロバイダーによって管理されている状態の完全バックアップを実行します

発言:バックアップ/復元は では VolatileActorStateProviderサポートされていません。

上書き:

VolatileActorStateProvider.backupAsync(BiFunction<BackupInfo, CancellationToken, CompletableFuture<Boolean>> backupCallback)

パラメーター:

backupCallback - BackupCallbackCallback は、バックアップ フォルダーがローカルに作成され、ノードから移動する準備ができたときに呼び出されます。

戻り値:

非同期バックアップ操作を表すタスク。

スロー:

UnsupportedOperationException

changeRoleAsync

public CompletableFuture changeRoleAsync(ReplicaRole newRole, CancellationToken cancellationToken)

状態プロバイダー レプリカに、そのロールが変更されていることを通知します (たとえば、プライマリまたはセカンダリ)。

上書き:

VolatileActorStateProvider.changeRoleAsync(ReplicaRole newRole, CancellationToken cancellationToken)

パラメーター:

newRole - プライマリやセカンダリなどの新しい ReplicaRole
cancellationToken -

CancellationToken オブジェクトを使用して、操作のキャンセル状態を示します。

戻り値:

非同期変更ロール操作を表すタスク。

closeAsync

public CompletableFuture closeAsync(CancellationToken cancellationToken)

状態プロバイダー レプリカを正常に閉じます。

発言:これは通常、レプリカのコードがアップグレード中、負荷分散のためにレプリカが移動中、または一時的な障害が検出された場合に発生します。

上書き:

VolatileActorStateProvider.closeAsync(CancellationToken cancellationToken)

パラメーター:

cancellationToken -

CancellationToken オブジェクトを使用して、操作のキャンセル状態を示します。

戻り値:

非同期の閉じる操作を表すタスク。

containsStateAsync

public CompletableFuture containsStateAsync(ActorId actorId, String stateName, CancellationToken cancellationToken)

アクター状態プロバイダーに、指定された状態名を持つアクター状態が含まれているかどうかを確認します。

上書き:

VolatileActorStateProvider.containsStateAsync(ActorId actorId, String stateName, CancellationToken cancellationToken)

パラメーター:

actorId - 状態の存在をチェックするアクターの ID。
stateName - 存在するためにチェックするアクター状態の名前。
cancellationToken -

CancellationToken オブジェクトを使用して、操作のキャンセル状態を示します。

戻り値:

非同期チェック操作を表すタスク。 指定した名前の状態が存在する場合、TResult パラメーターの値は true、それ以外の場合は false です。

currentReplicaRole

public ReplicaRole currentReplicaRole()

deleteReminderAsync

public CompletableFuture deleteReminderAsync(ActorId actorId, String reminderName, CancellationToken cancellationToken)

指定したアクター アラームが存在する場合は削除します。

上書き:

VolatileActorStateProvider.deleteReminderAsync(ActorId actorId, String reminderName, CancellationToken cancellationToken)

パラメーター:

actorId - アラームを削除するアクターの ID。
reminderName - 削除するアラームの名前。
cancellationToken -

CancellationToken オブジェクトを使用して、操作のキャンセル状態を示します。

戻り値:

非同期削除操作を表すタスク。

deleteRemindersAsync

public CompletableFuture deleteRemindersAsync(Map> reminderNames, CancellationToken cancellationToken)

指定したアラームのセットを削除します

上書き:

VolatileActorStateProvider.deleteRemindersAsync(Map<ActorId, Collection<String>> reminderNames, CancellationToken cancellationToken)

パラメーター:

reminderNames - 削除するアラームのセット
cancellationToken -

CancellationToken オブジェクトを使用して、操作のキャンセル状態を示します。

戻り値:

非同期削除操作を表すタスク。

enumerateStateNamesAsync

public CompletableFuture> enumerateStateNamesAsync(ActorId actorId, CancellationToken cancellationToken)

指定したアクターに関連付けられているすべての状態名の列挙可能な を作成します。

発言:アクター状態プロバイダーから返される列挙子は、状態プロバイダーへの読み取りと書き込みと同時に使用しても安全です。 これは、状態プロバイダーのスナップショット一貫性のあるビューを表します。

上書き:

VolatileActorStateProvider.enumerateStateNamesAsync(ActorId actorId, CancellationToken cancellationToken)

パラメーター:

actorId - 列挙可能なを作成するアクターの ID。
cancellationToken -

CancellationToken オブジェクトを使用して、操作のキャンセル状態を示します。

戻り値:

非同期列挙操作を表すタスク。 TResult パラメーターの値は、指定されたアクターに関連付けられているすべての状態名の列挙可能です。

getActorsAsync

public CompletableFuture> getActorsAsync(int itemsCount, ContinuationToken continuationToken, CancellationToken cancellationToken)

状態プロバイダーから ActorIds を取得します。

発言: 次の値を使用

上書き:

VolatileActorStateProvider.getActorsAsync(int itemsCount, ContinuationToken continuationToken, CancellationToken cancellationToken)

パラメーター:

itemsCount - 返す必要があるアイテムの数。
continuationToken - 結果のクエリを開始する継続トークン。 継続トークンの null 値は、先頭から値を返す開始を意味します。
cancellationToken -

CancellationToken オブジェクトを使用して、操作のキャンセル状態を示します。

戻り値:

サーバーへの呼び出しの非同期操作を表すタスク。

getCopyContext

public OperationDataStream getCopyContext()

セカンダリ レプリカが作成され、プライマリ レプリカにコンテキストを送信するために開かれた後に、セカンダリ レプリカのコンテキストを取得します。

発言:プライマリ レプリカはコンテキストを分析し、 を使用して状態を getCopyState(SequenceNumber upToSequenceNumber, OperationDataStream copyContext)返送します。 getCopyContext() は、新しく作成されたアイドル状態のセカンダリ レプリカで呼び出され、プライマリ レプリカとの双方向の会話を非同期的に確立するメカニズムを提供します。 セカンダリ レプリカは、セカンダリ レプリカでコンテキストの収集の進行状況をプライマリ レプリカが判断できるオブジェクトを送信 OperationData します。 プライマリ レプリカは、必要な状態を返送することで応答します。 交換の残りの半分については、プライマリ レプリカを参照してください getCopyState(SequenceNumber upToSequenceNumber, OperationDataStream copyContext) 。 メモリ内サービスの場合、 getCopyContext() セカンダリ レプリカの状態がわかっている (これらは空であり、すべての状態が必要になります) ため、 メソッドは呼び出されません。

上書き:

VolatileActorStateProvider.getCopyContext()

戻り値:

OperationDataStream が返されます。

getCopyState

public OperationDataStream getCopyState(SequenceNumber upToSequenceNumber, OperationDataStream copyContext)

セカンダリ レプリカのビルドに必要なプライマリ レプリカの状態を取得します。

発言:セカンダリ レプリカが を介して getCopyState(SequenceNumber upToSequenceNumber, OperationDataStream copyContext)OperationDataStreamプライマリ レプリカにコンテキストを送信できるようにするのと同様getCopyContext()に、プライマリ レプリカは でOperationDataStream応答できます。 ストリームには、 クラスの メソッドを使用してセカンダリ レプリカに getCopyStream() 配信されるオブジェクトが FabricReplicator 含まれています。 オブジェクトは、指定されたデータを実装 Operation し、格納します。 プライマリ レプリカは、この呼び出しを受信すると、 を含むOperationDataOperationDataStreamの レプリカを作成して返す必要があります。 OperationData は、セカンダリ レプリカのデータ/状態を表します。

上書き:

VolatileActorStateProvider.getCopyState(SequenceNumber upToSequenceNumber, OperationDataStream copyContext)

パラメーター:

upToSequenceNumber - メソッドを使用してコピー ストリームに配置する必要がある最後のシーケンス番号 (LSN) の getCopyStream() 最大数。 この数より大きい LSN は、 メソッドを使用してレプリケーション ストリームの一部としてセカンダリ レプリカに getReplicationStream() 配信されます。
copyContext - OperationDataStreamセカンダリ レプリカによって作成されるオブジェクトを格納OperationDataしている 。 に追いつく必要があります。

戻り値:

OperationDataStream が返されます。

スロー:

IllegalStateException

getLastCommittedSequenceNumber

public long getLastCommittedSequenceNumber()

サービスがコミットした最後のシーケンス番号を取得します。

発言:このメソッドは、永続的な状態がある場合やデータ損失が疑われる場合に備えて、サービスが最初に起動したときに呼び出されます。 ステートフル サービス レプリカは、起動時に、以前の更新プログラムから永続化された可能性のあるデータを復元するオプションがあります。 この方法で何らかの状態を復元した場合、現在の進行状況はそのデータの最後に書き込まれたシーケンス番号になります。 揮発性サービスは、単に 0 を返すことができます。 このメソッドは、フェールオーバー中に新しいプライマリ選択を決定するために呼び出されないことに注意してください。これは、現在コミットされた進行状況は、その時点で クラスによって FabricReplicator 既に認識されているためです。

上書き:

VolatileActorStateProvider.getLastCommittedSequenceNumber()

戻り値:

long を返します。

initialize

public void initialize(ActorTypeInformation actorTypeInformation)

アクター状態プロバイダーに関連付けられているアクター型の型情報を使用して初期化します。

上書き:

VolatileActorStateProvider.initialize(ActorTypeInformation actorTypeInformation)

パラメーター:

actorTypeInformation -

ActorTypeInformation アクター クラスの情報を入力します。

initialize

public void initialize(StatefulServiceInitializationParameters initializationParameters)

サービスの初期化情報を使用して、状態プロバイダー レプリカを初期化します。

発言:初期化中に複雑な処理を行う必要はありません。 OpenAsync では、コストのかかる初期化または実行時間の長い初期化を行う必要があります。

上書き:

VolatileActorStateProvider.initialize(StatefulServiceInitializationParameters initializationParameters)

パラメーター:

initializationParameters -

StatefulServiceInitializationParameters サービス名、パーティション ID、レプリカ ID、コード パッケージ情報など。

loadRemindersAsync

public CompletableFuture loadRemindersAsync(CancellationToken cancellationToken)

アクター状態プロバイダーに含まれるすべてのアラームを読み込みます。

上書き:

VolatileActorStateProvider.loadRemindersAsync(CancellationToken cancellationToken)

パラメーター:

cancellationToken -

CancellationToken 操作の取り消し状態を示す オブジェクト。

戻り値:

非同期読み込み操作を表すタスク。 TResult パラメーターの値は、アクター状態プロバイダーに含まれるすべてのアクター アラームのコレクションです。

loadStateAsync

public CompletableFuture loadStateAsync(ActorId actorId, String stateName, CancellationToken cancellationToken)

指定した状態名に関連付けられているアクター状態を読み込みます。

上書き:

VolatileActorStateProvider.loadStateAsync(ActorId actorId, String stateName, CancellationToken cancellationToken)

パラメーター:

actorId - アクティブ化されたアクターの ID。
stateName - StateName。
cancellationToken -

CancellationToken 操作の取り消し状態を示す オブジェクト。

戻り値:

非同期読み込み操作を表すタスク。 TResult パラメーターの値には、指定された状態名に関連付けられているアクター状態の値が含まれています。

スロー:

FabricKeyNotFoundException - 指定した状態名に関連付けられているアクター状態が存在しない場合。

onDataLossAsync

public CompletableFuture onDataLossAsync(CancellationToken cancellationToken)

このレプリカ セット内のレプリカの書き込みクォーラムが失われたため、データ損失が発生した可能性があることを示します。 レプリカ セットは、プライマリ レプリカを含むレプリカの大部分で構成されます。

発言:Service Fabric ランタイムは、プライマリ レプリカを含むレプリカのクォーラムの障害を観察すると、新しいプライマリ レプリカを選択し、新しいプライマリ レプリカで直ちにこのメソッドを呼び出します。 データ損失の可能性が通知されたプライマリ レプリカは、一部の外部データ ソースから状態を復元するか、現在の状態で引き続き実行できます。 サービスが現在の状態で引き続き実行される場合は、このメソッドから false を返す必要があります。これは、状態の変更が行われなかったことを示します。 不完全な作業のロールバックなど、状態を復元または変更した場合は、true を返す必要があります。 true が返された場合は、他のレプリカの状態が正しくないと見なす必要があります。 そのため、Service Fabric ランタイムは、レプリカ セットから他のレプリカを削除して再作成します。

上書き:

VolatileActorStateProvider.onDataLossAsync(CancellationToken cancellationToken)

パラメーター:

cancellationToken -

CancellationToken 操作の取り消し状態を示す オブジェクト。

戻り値:

状態が java.util.concurrent.CompletableFuture 変更されたかどうかを示す 型 java.lang.Booleanの を返します。 変更されると、メソッドは true を返すか、変更されなかった場合は false を返します。

onSnapshotAsync

public CompletableFuture onSnapshotAsync(Duration currentLogicalTime)

パラメーター:

currentLogicalTime

openAsync

public CompletableFuture openAsync(ReplicaOpenMode openMode, StatefulServicePartition partition, CancellationToken cancellationToken)

使用する状態プロバイダー レプリカを開きます。

発言:拡張状態プロバイダーの初期化タスクは、現時点で開始できます。

上書き:

VolatileActorStateProvider.openAsync(ReplicaOpenMode openMode, StatefulServicePartition partition, CancellationToken cancellationToken)

パラメーター:

openMode - ReplicaOpenModeこれが新しいレプリカか既存のレプリカかを示す 。
partition - StatefulServicePartitionレプリカが属しているパーティション。
cancellationToken -

CancellationToken 操作の取り消し状態を示す オブジェクト。

戻り値:

非同期オープン操作を表すタスク。 結果には、パーティション内の他の状態プロバイダー レプリカ間で状態をレプリケートするレプリケーターが含まれます。

reminderCallbackCompletedAsync

public CompletableFuture reminderCallbackCompletedAsync(ActorId actorId, ActorReminder reminder, CancellationToken cancellationToken)

アラームが起動し、コールバック receiveReminderAsync(String reminderName, byte[] context, Duration timeSpan, Duration period) の正常な実行が完了したときに呼び出されます

上書き:

VolatileActorStateProvider.reminderCallbackCompletedAsync(ActorId actorId, ActorReminder reminder, CancellationToken cancellationToken)

パラメーター:

actorId - アラームを所有するアクターの ID
reminder - 正常に完了したアクターアラーム。
cancellationToken - キャンセル要求を監視するためのトークン。

戻り値:

非同期アラーム コールバック完了通知処理を表すタスク。

removeActorAsync

public CompletableFuture removeActorAsync(ActorId actorId, CancellationToken cancellationToken)

指定したアクターに関連付けられている既存の状態とアラームをすべてアトミックに削除します。

上書き:

VolatileActorStateProvider.removeActorAsync(ActorId actorId, CancellationToken cancellationToken)

パラメーター:

actorId - 状態を削除するアクターの ID。
cancellationToken -

CancellationToken 操作の取り消し状態を示す オブジェクト。

戻り値:

非同期の削除操作を表すタスク。

restoreAsync

public CompletableFuture restoreAsync(String backupFolderPath)

によって作成された microsoft.servicefabric.data.StateProviderReplica#backupAsync(BiFunction) バックアップの復元または microsoft.servicefabric.data.StateProviderReplica#backupAsync(BackupOption, Duration, CancellationToken, BiFunction)備考:バックアップ/復元は では VolatileActorStateProviderサポートされていません。

上書き:

VolatileActorStateProvider.restoreAsync(String backupFolderPath)

パラメーター:

backupFolderPath - レプリカの復元元のディレクトリ。

戻り値:

非同期復元操作を表すタスク。

スロー:

UnsupportedOperationException

restoreAsync

public CompletableFuture restoreAsync(String backupFolderPath, RestorePolicy restorePolicy, Duration timeout, CancellationToken cancellationToken)

によって作成された microsoft.servicefabric.data.StateProviderReplica#backupAsync(BiFunction) バックアップの復元または microsoft.servicefabric.data.StateProviderReplica#backupAsync(BackupOption, Duration, CancellationToken, BiFunction)備考:バックアップ/復元は では VolatileActorStateProviderサポートされていません。

上書き:

VolatileActorStateProvider.restoreAsync(String backupFolderPath, RestorePolicy restorePolicy, Duration timeout, CancellationToken cancellationToken)

パラメーター:

backupFolderPath - レプリカの復元元のディレクトリ。
restorePolicy - RestorePolicy
timeout - この操作のタイムアウト。
cancellationToken - キャンセル要求を監視するためのトークン。

戻り値:

非同期復元操作を表すタスク。

スロー:

UnsupportedOperationException

saveReminderAsync

public CompletableFuture saveReminderAsync(ActorId actorId, ActorReminder reminder, CancellationToken cancellationToken)

指定したアクターアラームを保存します。 指定された名前のアクター アラームが存在しない場合は、アクター アラームが追加されます。それ以外の場合は、同じ名前の既存のアクター アラームが更新されます。

上書き:

VolatileActorStateProvider.saveReminderAsync(ActorId actorId, ActorReminder reminder, CancellationToken cancellationToken)

パラメーター:

actorId - アラームを保存するアクターの ID。
reminder - 保存するアクターアラーム。
cancellationToken -

CancellationToken 操作の取り消し状態を示す オブジェクト。

戻り値:

非同期の保存操作を表すタスク。

saveStateAsync

public CompletableFuture saveStateAsync(ActorId actorId, List stateChanges, CancellationToken cancellationToken)

指定したアクター状態の変更のセットをアトミックに保存します。

上書き:

VolatileActorStateProvider.saveStateAsync(ActorId actorId, List<ActorStateChange> stateChanges, CancellationToken cancellationToken)

パラメーター:

actorId - 状態の変更を保存するアクターの ID。
stateChanges - 保存する状態変更のコレクション。
cancellationToken -

CancellationToken 操作の取り消し状態を示す オブジェクト。

戻り値:

非同期の保存操作を表すタスク。 状態変更のコレクションには、特定の状態名に対して 1 つの項目のみを含める必要があります。 保存操作は、既に存在するアクター状態を追加しようとしたり、存在しないアクター状態を更新または削除したりしようとすると失敗します。

setOnDataLossCallback

public void setOnDataLossCallback(Function> onDataLossAsync)

データ損失の疑いがある場合に呼び出される関数

上書き:

VolatileActorStateProvider.setOnDataLossCallback(Function<CancellationToken, CompletableFuture<Boolean>> onDataLossAsync)

パラメーター:

onDataLossAsync - Todo。 データ損失の疑いのある処理の一部として呼び出される関数。 関数は CancellationToken を受け取り、イベントの非同期処理を表す CompletableFuture を返します。 true を返す場合は、レプリカの状態が復元されたことを示します。 False は、レプリカの状態が変更されていないことを示します。

traceId

public String traceId()

traceType

public String traceType()

transientErrorRetryDelay

public Duration transientErrorRetryDelay()

updateEpochAsync

public CompletableFuture updateEpochAsync(Epoch epoch, SequenceNumber previousEpochLastSequenceNumber, CancellationToken cancellationToken)

プライマリ レプリカの変更または変更が試行されたためにレプリカ セットの構成が変更されたことをレプリカに示します。 この変更は、以前のプライマリ レプリカの障害または負荷分散が原因で発生します。 エポック変更は、特定のプライマリ レプリカによって送信された正確な構成期間に操作をセグメント化することで、バリアとして機能します。

発言:このメソッドは、レプリカ セットのプライマリ レプリカが変更されたか、変更が試行されたために呼び出されます。 セカンダリ レプリカは、新しいプライマリ レプリカになりそうになったとき、または新しいプライマリ レプリカでない場合は、レプリケーション ストリームから新しいプライマリ レプリカから最初の操作を取得しようとしたときに、この方法を受け取ります。 プライマリ レプリカをスワップしようとして失敗した場合、プライマリ レプリカがこの方法を受け取ることがあります。 メソッドの updateEpochAsync(Epoch epoch, SequenceNumber previousEpochLastSequenceNumber, CancellationToken cancellationToken) 情報を使用すると、サービスは進行状況ベクトル (レプリカが受信した各エポックの一覧)、およびそれらが含まれている最大 LSN を維持できます。 現在適用されている最大 LSN と共に進行状況ベクトル データは、セカンダリ レプリカがコピー操作中に送信して、操作の進行状況を示すために役立ちます。 コピー操作中にセカンダリ レプリカから受信した進行状況ベクトルを比較すると、プライマリ レプリカは、セカンダリ レプリカが最新かどうか、セカンダリ レプリカに送信する必要がある状態、およびセカンダリ レプリカが誤った進行状況を行ったかどうかを判断できます。 False の進行状況は、以前のエポックの LSN が、プライマリ レプリカが受け取る LSN より大きいことを意味します。

上書き:

VolatileActorStateProvider.updateEpochAsync(Epoch epoch, SequenceNumber previousEpochLastSequenceNumber, CancellationToken cancellationToken)

パラメーター:

epoch - 新しい Epoch
previousEpochLastSequenceNumber - 前のエポックで観察されたはずの最大シーケンス番号 (LSN)。
cancellationToken -

CancellationToken 操作の取り消し状態を示す オブジェクト。

戻り値:

Task を返します。

適用対象