Partager via


VolatileActorStateProvider Classe

public class VolatileActorStateProvider implements ActorStateProvider,StateProvider

Implémentation d’ActorStateProvider pour la persistance volatile, c’est-à-dire que l’état de l’acteur est conservé uniquement en mémoire.

Récapitulatif du constructeur

Constructeur Description
VolatileActorStateProvider()

Crée une instance de VolatileActorStateProvider.

VolatileActorStateProvider(ReplicatorSettings replicatorSettings)

Crée une instance de VolatileActorStateProvider avec les paramètres de réplicaur spécifiés.

Résumé de la méthode

Modificateur et type Méthode et description
void abort()

Abandon forcé du fournisseur d’état réplica.

Remarques:Cela se produit généralement lorsqu’une erreur permanente est détectée sur le nœud ou lorsque Service Fabric ne peut pas gérer de manière fiable le cycle de vie du réplica en raison de défaillances internes.

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

Cette méthode est appelée dans le cadre du processus d’activation de l’acteur avec l’ID spécifié.

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

Effectue une sauvegarde complète de l’état gérée par ce fournisseur d’état acteur

Remarques:La sauvegarde/restauration n’est pas prise en charge par VolatileActorStateProvider.

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

Effectue une sauvegarde complète de l’état gérée par ce fournisseur d’état acteur

Remarques:La sauvegarde/restauration n’est pas prise en charge par VolatileActorStateProvider.

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

Informez le fournisseur d’état réplica que son rôle est en train de changer, par exemple en principal ou secondaire.

CompletableFuture<?> closeAsync(CancellationToken cancellationToken)

Fermez de façon appropriée le réplica du fournisseur d’état.

Remarques:Cela se produit généralement lorsque le code du réplica est mis à niveau, que le réplica est déplacé en raison de l’équilibrage de charge ou qu’une erreur temporaire est détectée.

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

Vérifie si le fournisseur d’état de l’acteur contient un état d’acteur avec le nom d’état spécifié.

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

Supprime le rappel de l’acteur spécifié s’il existe.

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

Supprime l’ensemble de rappels spécifié

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

Crée un énumérable de tous les noms d’état associés à l’acteur spécifié.

Remarques:L’énumérateur retourné par le fournisseur d’état acteur peut être utilisé en même temps que les lectures et les écritures dans le fournisseur d’état. Il représente une vue instantané cohérente du fournisseur d’état.

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

Obtient des Id d’acteur à partir du fournisseur d’état.

Remarques: Lla

OperationDataStream getCopyContext()

Obtient le contexte sur un réplica secondaire après sa création et son ouverture pour envoyer le contexte au réplica principal.

Remarques:Le réplica principal analyse le contexte et renvoie l’état via getCopyState(SequenceNumber upToSequenceNumber, OperationDataStream copyContext). getCopyContext()est appelé sur les réplicas secondaires inactifs nouvellement créés et fournit un mécanisme permettant d’établir de manière asynchrone une conversation bidirectionnelle avec le réplica principal. Le réplica secondaire envoie OperationData des objets avec lesquels le réplica principal peut déterminer la progression de la collecte du contexte sur le réplica secondaire. Le réplica principal répond en renvoyant l’état requis. Voir getCopyState(SequenceNumber upToSequenceNumber, OperationDataStream copyContext) à la réplica principale pour l’autre moitié de l’échange. Pour les services en mémoire, la getCopyContext() méthode n’est pas appelée, car l’état des réplicas secondaires est connu (ils sont vides et nécessitent tout l’état).

OperationDataStream getCopyState(SequenceNumber upToSequenceNumber, OperationDataStream copyContext)

Obtient l’état sur un réplica principal requis pour générer un réplica secondaire.

Remarques:Tout comme getCopyContext() permet à l’réplica secondaire d’envoyer le contexte au réplica principal via un OperationDataStream, getCopyState(SequenceNumber upToSequenceNumber, OperationDataStream copyContext) permet à l’réplica primaire de répondre avec un OperationDataStream. Le flux contient des objets qui sont remis au réplica secondaire via la getCopyStream() méthode de la FabricReplicator classe . Les objets implémentent Operation et contiennent les données spécifiées. Lorsque le réplica principal reçoit cet appel, il doit en créer et retourner un autre OperationDataStream contenant OperationData. OperationDatareprésente les données/l’état que le réplica secondaire

long getLastCommittedSequenceNumber()

Obtient le dernier numéro de séquence que le service a validée.

Remarques:Cette méthode est appelée sur un service lorsqu’il démarre pour la première fois, dans le cas où il présente un état persistant et quand une perte de données est suspectée. Lorsqu’un service avec état réplica démarre, il a la possibilité de restaurer toutes les données qui ont pu être conservées à partir de mises à jour précédentes. S’il restaure un état de cette manière, sa progression actuelle est le dernier numéro séquentiel écrit pour ces données. Un service volatile peut simplement retourner 0. Notez que cette méthode n’est pas appelée pour déterminer une nouvelle élection primaire pendant le basculement, car la progression actuelle validée est déjà connue par la FabricReplicator classe à ce moment-là.

void initialize(ActorTypeInformation actorTypeInformation)

Initialise le fournisseur d’état d’acteur avec les informations de type du type d’acteur qui lui est associé.

void initialize(StatefulServiceInitializationParameters initializationParameters)

Initialisez le fournisseur d’état réplica à l’aide des informations d’initialisation du service.

Remarques:Aucun traitement complexe ne doit être effectué lors de l’initialisation. Une initialisation coûteuse ou longue doit être effectuée dans OpenAsync.

CompletableFuture<ActorReminderCollection> loadRemindersAsync(CancellationToken cancellationToken)

Charge tous les rappels contenus dans le fournisseur d’état de l’acteur.

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

Charge l’état de l’acteur associé au nom d’état spécifié.

CompletableFuture<Boolean> onDataLossAsync(CancellationToken cancellationToken)

Indique qu’un quorum d’écriture de réplicas dans ce jeu de réplica a été perdu et que, par conséquent, une perte de données peut s’être produite. Le réplica jeu se compose d’une majorité de réplicas, y compris le réplica principal.

Remarques:Lorsque le runtime Service Fabric observe l’échec d’un quorum de réplicas, qui inclut le réplica principal, il choisit un nouveau réplica principal et appelle immédiatement cette méthode sur le nouveau réplica principal. Un réplica principal qui est informé d’une perte de données possible peut choisir de restaurer son état à partir d’une source de données externe ou peut continuer à s’exécuter avec l’état actuel. Si le service continue à s’exécuter avec son état actuel, il doit retourner false à partir de cette méthode, ce qui indique qu’aucune modification d’état n’a été apportée. S’il a restauré ou modifié son état, par exemple en cas de restauration d’un travail incomplet, il doit retourner true. Si true est retourné, l’état dans d’autres réplicas doit être considéré comme incorrect. Par conséquent, le runtime Service Fabric supprime les autres réplicas du jeu de réplica et les recrée.

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

Ouvrez le fournisseur d’état réplica à utiliser.

Remarques:Les tâches d’initialisation du fournisseur d’état étendu peuvent être démarrées à ce stade.

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

Appelé lorsqu’un rappel se déclenche et termine l’exécution de son rappel receiveReminderAsync(String reminderName, byte[] context, Duration timeSpan, Duration period) avec succès

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

Supprime tous les états et rappels existants associés à l’acteur spécifié atomiquement.

CompletableFuture<?> restoreAsync(String backupFolderPath)

Restaurer une sauvegarde effectuée par microsoft.servicefabric.data.StateProviderReplica#backupAsync(BiFunction) ou microsoft.servicefabric.data.StateProviderReplica#backupAsync(BackupOption, Duration, CancellationToken, BiFunction)Remarques : La sauvegarde/restauration n’est pas prise en charge par VolatileActorStateProvider.

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

Restaurer une sauvegarde effectuée par microsoft.servicefabric.data.StateProviderReplica#backupAsync(BiFunction) ou microsoft.servicefabric.data.StateProviderReplica#backupAsync(BackupOption, Duration, CancellationToken, BiFunction)Remarques : La sauvegarde/restauration n’est pas prise en charge par VolatileActorStateProvider.

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

Enregistre le rappel de l’acteur spécifié. Si un rappel d’acteur portant un nom donné n’existe pas, il ajoute le rappel de l’acteur, sinon le rappel d’acteur existant portant le même nom est mis à jour.

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

Enregistre atomiquement le jeu spécifié de modifications d’état de l’acteur.

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

Fonction appelée lors d’une perte de données suspectée

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

Indique à un réplica que la configuration d’un jeu de réplica a changé en raison d’une modification ou d’une tentative de modification du réplica principal. La modification se produit en raison d’une défaillance ou d’un équilibrage de charge de la réplica primaire précédente. Les changements d’époque agissent comme un obstacle en segmentant les opérations en périodes de configuration exactes dans lesquelles elles ont été envoyées par un réplica principal spécifique.

Remarques:Cette méthode est appelée parce que le réplica principal du jeu de réplica a changé ou qu’une modification a été tentée. Les réplicas secondaires reçoivent cette méthode lorsqu’ils sont sur le point de devenir le nouveau réplica principal ou, s’il ne s’agit pas du nouveau réplica principal, ils la reçoivent lorsqu’ils tentent d’obtenir la première opération du nouveau réplica principal à partir du flux de réplication. Les réplicas principaux peuvent occasionnellement recevoir cette méthode en cas de tentative d’échange du réplica principal, qui échoue. Les informations contenues dans la updateEpochAsync(Epoch epoch, SequenceNumber previousEpochLastSequenceNumber, CancellationToken cancellationToken) méthode permettent au service de conserver un vecteur de progression, qui est une liste de chaque époque que l’réplica a reçue, et le LSN maximal qu’elle contient. Les données du vecteur de progression ainsi que le LSN maximal appliqué actuel sont utiles pour un réplica secondaire à envoyer pendant l’opération de copie afin de décrire la progression de l’opération. La comparaison des vecteurs de progression reçus à partir des réplicas secondaires pendant l’opération de copie permet aux réplicas principaux de déterminer si le réplica secondaire est à jour, quel état doit être envoyé au réplica secondaire et si le réplica secondaire a effectué une fausse progression. La fausse progression signifie qu’un LSN dans une époque précédente était supérieur au LSN que le réplica principal reçoit.

Détails du constructeur

VolatileActorStateProvider

public VolatileActorStateProvider()

Crée une instance de VolatileActorStateProvider.

VolatileActorStateProvider

public VolatileActorStateProvider(ReplicatorSettings replicatorSettings)

Crée une instance de VolatileActorStateProvider avec les paramètres de réplicaur spécifiés.

Paramètres:

replicatorSettings - Objet ReplicatorSettings qui décrit les paramètres du réplicaur.

Détails de la méthode

abort

public void abort()

Abandon forcé du fournisseur d’état réplica.

Remarques:Cela se produit généralement lorsqu’une erreur permanente est détectée sur le nœud ou lorsque Service Fabric ne peut pas gérer de manière fiable le cycle de vie du réplica en raison de défaillances internes.

Remplacements:

VolatileActorStateProvider.abort()

actorActivatedAsync

public CompletableFuture actorActivatedAsync(ActorId actorId, CancellationToken cancellationToken)

Cette méthode est appelée dans le cadre du processus d’activation de l’acteur avec l’ID spécifié.

Remplacements:

VolatileActorStateProvider.actorActivatedAsync(ActorId actorId, CancellationToken cancellationToken)

Paramètres:

actorId - ID de l’acteur activé.
cancellationToken -

CancellationTokenobjet pour indiquer l’annulation status de l’opération.

Retours:

Tâche qui représente le traitement asynchrone de la notification d’activation de l’acteur.

backupAsync

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

Effectue une sauvegarde complète de l’état gérée par ce fournisseur d’état acteur

Remarques:La sauvegarde/restauration n’est pas prise en charge par VolatileActorStateProvider.

Remplacements:

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

Paramètres:

option -

BackupOption pour le rappel

timeout -

java.time.Duration qui décrit le délai d’expiration de la sauvegarde

cancellationToken - Jeton pour surveiller les requêtes d'annulation.
backupCallback - BackupCallbackCallback à appeler lorsque le dossier de sauvegarde a été créé localement et qu’il est prêt à être déplacé hors du nœud.

Retours:

Tâche qui représente l’opération de sauvegarde asynchrone.

Exception:

UnsupportedOperationException

backupAsync

public CompletableFuture backupAsync(BiFunction> backupCallback)

Effectue une sauvegarde complète de l’état gérée par ce fournisseur d’état acteur

Remarques:La sauvegarde/restauration n’est pas prise en charge par VolatileActorStateProvider.

Remplacements:

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

Paramètres:

backupCallback - BackupCallbackCallback à appeler lorsque le dossier de sauvegarde a été créé localement et qu’il est prêt à être déplacé hors du nœud.

Retours:

Tâche qui représente l’opération de sauvegarde asynchrone.

Exception:

UnsupportedOperationException

changeRoleAsync

public CompletableFuture changeRoleAsync(ReplicaRole newRole, CancellationToken cancellationToken)

Informez le fournisseur d’état réplica que son rôle est en train de changer, par exemple en principal ou secondaire.

Remplacements:

VolatileActorStateProvider.changeRoleAsync(ReplicaRole newRole, CancellationToken cancellationToken)

Paramètres:

newRole - ReplicaRoleNouveau , tel que principal ou secondaire.
cancellationToken -

CancellationTokenobjet pour indiquer l’annulation status de l’opération.

Retours:

Tâche qui représente l’opération de rôle de modification asynchrone.

closeAsync

public CompletableFuture closeAsync(CancellationToken cancellationToken)

Fermez de façon appropriée le réplica du fournisseur d’état.

Remarques:Cela se produit généralement lorsque le code du réplica est mis à niveau, que le réplica est déplacé en raison de l’équilibrage de charge ou qu’une erreur temporaire est détectée.

Remplacements:

VolatileActorStateProvider.closeAsync(CancellationToken cancellationToken)

Paramètres:

cancellationToken -

CancellationTokenobjet pour indiquer l’annulation status de l’opération.

Retours:

Tâche qui représente l’opération de fermeture asynchrone.

containsStateAsync

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

Vérifie si le fournisseur d’état de l’acteur contient un état d’acteur avec le nom d’état spécifié.

Remplacements:

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

Paramètres:

actorId - ID de l’acteur pour lequel case activée’existence de l’état.
stateName - Nom de l’état de l’acteur à case activée d’existence.
cancellationToken -

CancellationTokenobjet pour indiquer l’annulation status de l’opération.

Retours:

Tâche qui représente l’opération asynchrone case activée. La valeur du paramètre TResult est true si l’état avec le nom spécifié existe sinon false.

currentReplicaRole

public ReplicaRole currentReplicaRole()

deleteReminderAsync

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

Supprime le rappel de l’acteur spécifié s’il existe.

Remplacements:

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

Paramètres:

actorId - ID de l’acteur pour supprimer le rappel.
reminderName - Nom du rappel à supprimer.
cancellationToken -

CancellationTokenobjet pour indiquer l’annulation status de l’opération.

Retours:

Tâche qui représente l’opération de suppression asynchrone.

deleteRemindersAsync

public CompletableFuture deleteRemindersAsync(Map> reminderNames, CancellationToken cancellationToken)

Supprime l’ensemble de rappels spécifié

Remplacements:

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

Paramètres:

reminderNames - Ensemble de rappels à supprimer
cancellationToken -

CancellationTokenobjet pour indiquer l’annulation status de l’opération.

Retours:

Tâche qui représente l’opération de suppression asynchrone.

enumerateStateNamesAsync

public CompletableFuture> enumerateStateNamesAsync(ActorId actorId, CancellationToken cancellationToken)

Crée un énumérable de tous les noms d’état associés à l’acteur spécifié.

Remarques:L’énumérateur retourné par le fournisseur d’état acteur peut être utilisé en même temps que les lectures et les écritures dans le fournisseur d’état. Il représente une vue instantané cohérente du fournisseur d’état.

Remplacements:

VolatileActorStateProvider.enumerateStateNamesAsync(ActorId actorId, CancellationToken cancellationToken)

Paramètres:

actorId - ID de l’acteur pour lequel créer un énumérable.
cancellationToken -

CancellationTokenobjet pour indiquer l’annulation status de l’opération.

Retours:

Tâche qui représente l’opération d’énumération asynchrone. La valeur du paramètre TResult est énumérable de tous les noms d’état associés à l’acteur spécifié.

getActorsAsync

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

Obtient des Id d’acteur à partir du fournisseur d’état.

Remarques: Lla

Remplacements:

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

Paramètres:

itemsCount - Nombre d’éléments à retourner.
continuationToken - Jeton de continuation à partir duquel commencer à interroger les résultats. Une valeur null de jeton de continuation signifie que commencez à retourner des valeurs au début.
cancellationToken -

CancellationTokenobjet pour indiquer l’annulation status de l’opération.

Retours:

Tâche qui représente l’opération asynchrone d’appel au serveur.

getCopyContext

public OperationDataStream getCopyContext()

Obtient le contexte sur un réplica secondaire après sa création et son ouverture pour envoyer le contexte au réplica principal.

Remarques:Le réplica principal analyse le contexte et renvoie l’état via getCopyState(SequenceNumber upToSequenceNumber, OperationDataStream copyContext). getCopyContext()est appelé sur les réplicas secondaires inactifs nouvellement créés et fournit un mécanisme permettant d’établir de manière asynchrone une conversation bidirectionnelle avec le réplica principal. Le réplica secondaire envoie OperationData des objets avec lesquels le réplica principal peut déterminer la progression de la collecte du contexte sur le réplica secondaire. Le réplica principal répond en renvoyant l’état requis. Voir getCopyState(SequenceNumber upToSequenceNumber, OperationDataStream copyContext) à la réplica principale pour l’autre moitié de l’échange. Pour les services en mémoire, la getCopyContext() méthode n’est pas appelée, car l’état des réplicas secondaires est connu (ils sont vides et nécessitent tout l’état).

Remplacements:

VolatileActorStateProvider.getCopyContext()

Retours:

Retourne OperationDataStream.

getCopyState

public OperationDataStream getCopyState(SequenceNumber upToSequenceNumber, OperationDataStream copyContext)

Obtient l’état sur un réplica principal requis pour générer un réplica secondaire.

Remarques:Tout comme getCopyContext() permet à l’réplica secondaire d’envoyer le contexte au réplica principal via un OperationDataStream, getCopyState(SequenceNumber upToSequenceNumber, OperationDataStream copyContext) permet à l’réplica primaire de répondre avec un OperationDataStream. Le flux contient des objets qui sont remis au réplica secondaire via la getCopyStream() méthode de la FabricReplicator classe . Les objets implémentent Operation et contiennent les données spécifiées. Lorsque le réplica principal reçoit cet appel, il doit en créer et retourner un autre OperationDataStream contenant OperationData. OperationDatareprésente les données/l’état que le réplica secondaire

Remplacements:

VolatileActorStateProvider.getCopyState(SequenceNumber upToSequenceNumber, OperationDataStream copyContext)

Paramètres:

upToSequenceNumber - Numéro de dernière séquence (LSN) maximal qui doit être placé dans le flux de copie via la getCopyStream() méthode . Les LSN supérieurs à ce nombre sont remis au réplica secondaire dans le cadre du flux de réplication via la getReplicationStream() méthode .
copyContext - OperationDataStream qui contient les OperationData objets créés par le réplica secondaire. nécessite de rattraper le fourni

Retours:

Retourne OperationDataStream.

Exception:

IllegalStateException

getLastCommittedSequenceNumber

public long getLastCommittedSequenceNumber()

Obtient le dernier numéro de séquence que le service a validée.

Remarques:Cette méthode est appelée sur un service lorsqu’il démarre pour la première fois, dans le cas où il présente un état persistant et quand une perte de données est suspectée. Lorsqu’un service avec état réplica démarre, il a la possibilité de restaurer toutes les données qui ont pu être conservées à partir de mises à jour précédentes. S’il restaure un état de cette manière, sa progression actuelle est le dernier numéro séquentiel écrit pour ces données. Un service volatile peut simplement retourner 0. Notez que cette méthode n’est pas appelée pour déterminer une nouvelle élection primaire pendant le basculement, car la progression actuelle validée est déjà connue par la FabricReplicator classe à ce moment-là.

Remplacements:

VolatileActorStateProvider.getLastCommittedSequenceNumber()

Retours:

Retourne long.

initialize

public void initialize(ActorTypeInformation actorTypeInformation)

Initialise le fournisseur d’état d’acteur avec les informations de type du type d’acteur qui lui est associé.

Remplacements:

VolatileActorStateProvider.initialize(ActorTypeInformation actorTypeInformation)

Paramètres:

actorTypeInformation -

ActorTypeInformation Informations de type de la classe d’acteur.

initialize

public void initialize(StatefulServiceInitializationParameters initializationParameters)

Initialisez le fournisseur d’état réplica à l’aide des informations d’initialisation du service.

Remarques:Aucun traitement complexe ne doit être effectué lors de l’initialisation. Une initialisation coûteuse ou longue doit être effectuée dans OpenAsync.

Remplacements:

VolatileActorStateProvider.initialize(StatefulServiceInitializationParameters initializationParameters)

Paramètres:

initializationParameters -

StatefulServiceInitializationParameterstelles que le nom du service, l’ID de partition, l’ID de réplica et les informations du package de code.

loadRemindersAsync

public CompletableFuture loadRemindersAsync(CancellationToken cancellationToken)

Charge tous les rappels contenus dans le fournisseur d’état de l’acteur.

Remplacements:

VolatileActorStateProvider.loadRemindersAsync(CancellationToken cancellationToken)

Paramètres:

cancellationToken -

CancellationTokenobjet pour indiquer l’annulation status de l’opération.

Retours:

Tâche qui représente l’opération de chargement asynchrone. La valeur du paramètre TResult est une collection de tous les rappels d’acteur contenus dans le fournisseur d’état de l’acteur.

loadStateAsync

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

Charge l’état de l’acteur associé au nom d’état spécifié.

Remplacements:

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

Paramètres:

actorId - ID de l’acteur activé.
stateName - StateName.
cancellationToken -

CancellationTokenobjet pour indiquer l’annulation status de l’opération.

Retours:

Tâche qui représente l’opération de chargement asynchrone. La valeur du paramètre TResult contient la valeur de l’état d’acteur associée à un nom d’état donné.

Exception:

FabricKeyNotFoundException - Si l’état d’acteur associé au nom d’état spécifié n’existe pas.

onDataLossAsync

public CompletableFuture onDataLossAsync(CancellationToken cancellationToken)

Indique qu’un quorum d’écriture de réplicas dans ce jeu de réplica a été perdu et que, par conséquent, une perte de données peut s’être produite. Le réplica jeu se compose d’une majorité de réplicas, y compris le réplica principal.

Remarques:Lorsque le runtime Service Fabric observe l’échec d’un quorum de réplicas, qui inclut le réplica principal, il choisit un nouveau réplica principal et appelle immédiatement cette méthode sur le nouveau réplica principal. Un réplica principal qui est informé d’une perte de données possible peut choisir de restaurer son état à partir d’une source de données externe ou peut continuer à s’exécuter avec l’état actuel. Si le service continue à s’exécuter avec son état actuel, il doit retourner false à partir de cette méthode, ce qui indique qu’aucune modification d’état n’a été apportée. S’il a restauré ou modifié son état, par exemple en cas de restauration d’un travail incomplet, il doit retourner true. Si true est retourné, l’état dans d’autres réplicas doit être considéré comme incorrect. Par conséquent, le runtime Service Fabric supprime les autres réplicas du jeu de réplica et les recrée.

Remplacements:

VolatileActorStateProvider.onDataLossAsync(CancellationToken cancellationToken)

Paramètres:

cancellationToken -

CancellationTokenobjet pour indiquer l’annulation status de l’opération.

Retours:

Retourne java.util.concurrent.CompletableFuture de type java.lang.Boolean, qui indique si l’état a changé. Lorsqu’elle a changé, la méthode retourne true ou lorsqu’elle n’a pas changé, la méthode retourne false.

onSnapshotAsync

public CompletableFuture onSnapshotAsync(Duration currentLogicalTime)

Paramètres:

currentLogicalTime

openAsync

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

Ouvrez le fournisseur d’état réplica à utiliser.

Remarques:Les tâches d’initialisation du fournisseur d’état étendu peuvent être démarrées à ce stade.

Remplacements:

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

Paramètres:

openMode - ReplicaOpenMode qui indique s’il s’agit d’un réplica nouveau ou existant.
partition - Partition StatefulServicePartition à laquelle appartient le réplica.
cancellationToken -

CancellationTokenobjet pour indiquer l’annulation status de l’opération.

Retours:

Tâche qui représente l’opération d’ouverture asynchrone. Le résultat contient le réplicateur responsable de la réplication de l’état entre d’autres réplicas de fournisseur d’état dans la partition.

reminderCallbackCompletedAsync

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

Appelé lorsqu’un rappel se déclenche et termine l’exécution de son rappel receiveReminderAsync(String reminderName, byte[] context, Duration timeSpan, Duration period) avec succès

Remplacements:

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

Paramètres:

actorId - ID de l’acteur qui possède le rappel
reminder - Rappel de l’acteur qui s’est terminé avec succès.
cancellationToken - Jeton pour surveiller les requêtes d'annulation.

Retours:

Tâche qui représente le traitement des notifications terminées par le rappel de rappel asynchrone.

removeActorAsync

public CompletableFuture removeActorAsync(ActorId actorId, CancellationToken cancellationToken)

Supprime tous les états et rappels existants associés à l’acteur spécifié atomiquement.

Remplacements:

VolatileActorStateProvider.removeActorAsync(ActorId actorId, CancellationToken cancellationToken)

Paramètres:

actorId - ID de l’acteur pour lequel supprimer l’état.
cancellationToken -

CancellationTokenobjet pour indiquer l’annulation status de l’opération.

Retours:

Tâche qui représente l’opération de suppression asynchrone.

restoreAsync

public CompletableFuture restoreAsync(String backupFolderPath)

Restaurer une sauvegarde effectuée par microsoft.servicefabric.data.StateProviderReplica#backupAsync(BiFunction) ou microsoft.servicefabric.data.StateProviderReplica#backupAsync(BackupOption, Duration, CancellationToken, BiFunction)Remarques : La sauvegarde/restauration n’est pas prise en charge par VolatileActorStateProvider.

Remplacements:

VolatileActorStateProvider.restoreAsync(String backupFolderPath)

Paramètres:

backupFolderPath - Répertoire à partir duquel réplica seront restaurés.

Retours:

Tâche qui représente l’opération de restauration asynchrone.

Exception:

UnsupportedOperationException

restoreAsync

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

Restaurer une sauvegarde effectuée par microsoft.servicefabric.data.StateProviderReplica#backupAsync(BiFunction) ou microsoft.servicefabric.data.StateProviderReplica#backupAsync(BackupOption, Duration, CancellationToken, BiFunction)Remarques : La sauvegarde/restauration n’est pas prise en charge par VolatileActorStateProvider.

Remplacements:

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

Paramètres:

backupFolderPath - Répertoire à partir duquel réplica seront restaurés.
restorePolicy - L’RestorePolicyopérateur
timeout - Délai d’expiration de cette opération.
cancellationToken - Jeton pour surveiller les requêtes d'annulation.

Retours:

Tâche qui représente l’opération de restauration asynchrone.

Exception:

UnsupportedOperationException

saveReminderAsync

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

Enregistre le rappel de l’acteur spécifié. Si un rappel d’acteur portant un nom donné n’existe pas, il ajoute le rappel de l’acteur, sinon le rappel d’acteur existant portant le même nom est mis à jour.

Remplacements:

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

Paramètres:

actorId - ID de l’acteur pour lequel enregistrer le rappel.
reminder - Rappel de l’acteur à enregistrer.
cancellationToken -

CancellationTokenobjet pour indiquer l’annulation status de l’opération.

Retours:

Tâche qui représente l’opération d’écriture d’enregistrement asynchrone.

saveStateAsync

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

Enregistre atomiquement le jeu spécifié de modifications d’état de l’acteur.

Remplacements:

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

Paramètres:

actorId - ID de l’acteur pour lequel enregistrer les modifications d’état.
stateChanges - Collection de modifications d’état à enregistrer.
cancellationToken -

CancellationTokenobjet pour indiquer l’annulation status de l’opération.

Retours:

Tâche qui représente l’opération d’écriture d’enregistrement asynchrone. La collection de modifications d’état ne doit contenir qu’un seul élément pour un nom d’état donné. L’opération d’enregistrement échoue lorsque vous essayez d’ajouter un état d’acteur qui existe déjà ou de mettre à jour/supprimer un état d’acteur qui n’existe pas.

setOnDataLossCallback

public void setOnDataLossCallback(Function> onDataLossAsync)

Fonction appelée lors d’une perte de données suspectée

Remplacements:

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

Paramètres:

onDataLossAsync - TODO. Fonction appelée dans le cadre d’un traitement suspect de perte de données. La fonction prend CancellationToken et retourne un CompletableFuture qui représente le traitement asynchrone de l’événement. Le retour de true indique que l’état du réplica a été restauré. False indique que l’état du réplica n’a pas été modifié.

traceId

public String traceId()

traceType

public String traceType()

transientErrorRetryDelay

public Duration transientErrorRetryDelay()

updateEpochAsync

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

Indique à un réplica que la configuration d’un jeu de réplica a changé en raison d’une modification ou d’une tentative de modification du réplica principal. La modification se produit en raison d’une défaillance ou d’un équilibrage de charge de la réplica primaire précédente. Les changements d’époque agissent comme un obstacle en segmentant les opérations en périodes de configuration exactes dans lesquelles elles ont été envoyées par un réplica principal spécifique.

Remarques:Cette méthode est appelée parce que le réplica principal du jeu de réplica a changé ou qu’une modification a été tentée. Les réplicas secondaires reçoivent cette méthode lorsqu’ils sont sur le point de devenir le nouveau réplica principal ou, s’il ne s’agit pas du nouveau réplica principal, ils la reçoivent lorsqu’ils tentent d’obtenir la première opération du nouveau réplica principal à partir du flux de réplication. Les réplicas principaux peuvent occasionnellement recevoir cette méthode en cas de tentative d’échange du réplica principal, qui échoue. Les informations contenues dans la updateEpochAsync(Epoch epoch, SequenceNumber previousEpochLastSequenceNumber, CancellationToken cancellationToken) méthode permettent au service de conserver un vecteur de progression, qui est une liste de chaque époque que l’réplica a reçue, et le LSN maximal qu’elle contient. Les données du vecteur de progression ainsi que le LSN maximal appliqué actuel sont utiles pour un réplica secondaire à envoyer pendant l’opération de copie afin de décrire la progression de l’opération. La comparaison des vecteurs de progression reçus à partir des réplicas secondaires pendant l’opération de copie permet aux réplicas principaux de déterminer si le réplica secondaire est à jour, quel état doit être envoyé au réplica secondaire et si le réplica secondaire a effectué une fausse progression. La fausse progression signifie qu’un LSN dans une époque précédente était supérieur au LSN que le réplica principal reçoit.

Remplacements:

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

Paramètres:

epoch - Nouvelle Epoch.
previousEpochLastSequenceNumber - Numéro de séquence maximal (LSN) qui aurait dû être observé à l’époque précédente.
cancellationToken -

CancellationTokenobjet pour indiquer l’annulation status de l’opération.

Retours:

Retourne la tâche.

S’applique à