Compartilhar via


VolatileActorStateProvider Classe

public class VolatileActorStateProvider implements ActorStateProvider,StateProvider

A implementação de ActorStateProvider para persistência volátil, ou seja, o estado de ator é mantido apenas na memória.

Resumo do Construtor

Construtor Description
VolatileActorStateProvider()

Cria uma instância de VolatileActorStateProvider.

VolatileActorStateProvider(ReplicatorSettings replicatorSettings)

Cria uma instância de VolatileActorStateProvider com as configurações do replicador especificadas.

Resumo do método

Modificador e tipo Método e descrição
void abort()

Anule com força o réplica do provedor de estado.

Observações:Isso geralmente ocorre quando uma falha permanente é detectada no nó ou quando o Service Fabric não pode gerenciar de forma confiável o ciclo de vida do réplica devido a falhas internas.

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

Esse método é invocado como parte do processo de ativação do ator com a ID especificada.

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

Executa um backup completo do estado gerenciado por este provedor de estado de ator

Observações:Não há suporte para backup/restauração por VolatileActorStateProvider.

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

Executa um backup completo do estado gerenciado por este provedor de estado de ator

Observações:Não há suporte para backup/restauração por VolatileActorStateProvider.

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

Notifique o provedor de estado réplica que sua função está mudando, por exemplo, para Primária ou Secundária.

CompletableFuture<?> closeAsync(CancellationToken cancellationToken)

Feche normalmente o provedor de estado réplica.

Observações:Isso geralmente ocorre quando o código do réplica está sendo atualizado, o réplica está sendo movido devido ao balanceamento de carga ou uma falha transitória é detectada.

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

Verifica se o provedor de estado do ator contém um estado de ator com o nome de estado especificado.

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

Exclui o lembrete de ator especificado se ele existir.

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

Exclui o conjunto de lembretes especificado

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

Cria uma enumerável de todos os nomes de estado associados ao ator especificado.

Observações:O enumerador retornado do provedor de estado de ator é seguro para usar simultaneamente com leituras e gravações no provedor de estado. Ele representa uma exibição instantâneo consistente do provedor de estado.

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

Obtém ActorIds do Provedor de Estado.

Observações: O

OperationDataStream getCopyContext()

Obtém contexto em um réplica secundário depois que ele é criado e aberto para enviar contexto à réplica Primária.

Observações:O réplica Primário analisa o contexto e envia o estado de volta por meio de getCopyState(SequenceNumber upToSequenceNumber, OperationDataStream copyContext). getCopyContext()é chamado em réplicas secundárias ociosas e recém-criadas e fornece um mecanismo para estabelecer de forma assíncrona uma conversa bidirecional com a réplica Primária. A réplica Secundária envia OperationData objetos com os quais a réplica Primária pode determinar o progresso da coleta de contexto no réplica Secundário. O réplica Primário responde enviando o estado necessário de volta. Consulte getCopyState(SequenceNumber upToSequenceNumber, OperationDataStream copyContext) no réplica Primário para a outra metade da troca. Para serviços na memória, o getCopyContext() método não é chamado, pois o estado das réplicas secundárias é conhecido (elas estão vazias e exigirão todo o estado).

OperationDataStream getCopyState(SequenceNumber upToSequenceNumber, OperationDataStream copyContext)

Obtém o estado em um réplica Primário necessário para criar uma réplica secundária.

Observações:Assim como getCopyContext() permite que o réplica Secundário envie contexto para a réplica Primária por meio de um OperationDataStream, getCopyState(SequenceNumber upToSequenceNumber, OperationDataStream copyContext) permite que o réplica Primário responda com um OperationDataStream. O fluxo contém objetos que são entregues à réplica Secundária por meio do getCopyStream() método da FabricReplicator classe . Os objetos implementam Operation e contêm os dados especificados. Quando a réplica Primária recebe essa chamada, ela deve criar e retornar outra OperationDataStream que contenha OperationData. OperationDatarepresenta os dados/estado que o réplica Secundário

long getLastCommittedSequenceNumber()

Obtém o último número de sequência confirmado pelo serviço.

Observações:Esse método é chamado em um serviço quando ele é iniciado pela primeira vez, caso ele tenha qualquer estado persistente e quando há suspeita de perda de dados. Quando um serviço com estado réplica é iniciado, ele tem a opção de restaurar todos os dados que possam ter persistido das atualizações anteriores. Se ele restaurar algum estado dessa maneira, seu progresso atual será o último número de sequência gravado para esses dados. Um serviço volátil pode simplesmente retornar 0. Observe que esse método não é chamado para determinar uma nova eleição primária durante o failover, porque o progresso atual confirmado já é conhecido pela FabricReplicator classe naquele momento.

void initialize(ActorTypeInformation actorTypeInformation)

Inicializa o provedor de estado do ator com informações de tipo do tipo de ator associado a ele.

void initialize(StatefulServiceInitializationParameters initializationParameters)

Inicialize o provedor de estado réplica usando as informações de inicialização do serviço.

Observações:Nenhum processamento complexo deve ser feito durante Inicializar. A inicialização cara ou de execução longa deve ser feita no OpenAsync.

CompletableFuture<ActorReminderCollection> loadRemindersAsync(CancellationToken cancellationToken)

Carrega todos os lembretes contidos no provedor de estado do ator.

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

Carrega o estado do ator associado ao nome de estado especificado.

CompletableFuture<Boolean> onDataLossAsync(CancellationToken cancellationToken)

Indica que um quorum de gravação de réplicas neste conjunto de réplica foi perdido e, portanto, a perda de dados pode ter ocorrido. O conjunto de réplica consiste na maioria das réplicas, que inclui o réplica Primário.

Observações:Quando o runtime do Service Fabric observa a falha de um quorum de réplicas, que inclui o réplica Primário, elege um novo réplica Primário e chama imediatamente esse método na nova réplica Primária. Um réplica Primário que é informado de uma possível perda de dados pode optar por restaurar seu estado de alguma fonte de dados externa ou pode continuar a ser executado com o estado que ele tem atualmente. Se o serviço continuar a ser executado com seu estado atual, ele deverá retornar false desse método, o que indica que nenhuma alteração de estado foi feita. Se tiver restaurado ou alterado seu estado, como reverter o trabalho incompleto, ele deverá retornar true. Se true for retornado, o estado em outras réplicas deverá ser considerado incorreto. Portanto, o runtime do Service Fabric remove as outras réplicas do conjunto de réplica e as recria.

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

Abra o provedor de estado réplica para uso.

Observações:As tarefas de inicialização do provedor de estado estendido podem ser iniciadas no momento.

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

Invocado quando um lembrete é acionado e termina de executar seu retorno de chamada com êxito receiveReminderAsync(String reminderName, byte[] context, Duration timeSpan, Duration period)

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

Remove todos os estados e lembretes existentes associados ao ator especificado atomicamente.

CompletableFuture<?> restoreAsync(String backupFolderPath)

Não há suporte para restaurar um backup feito por microsoft.servicefabric.data.StateProviderReplica#backupAsync(BiFunction) ou microsoft.servicefabric.data.StateProviderReplica#backupAsync(BackupOption, Duration, CancellationToken, BiFunction)Comentários:Backup/restauração VolatileActorStateProvider.

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

Não há suporte para restaurar um backup feito por microsoft.servicefabric.data.StateProviderReplica#backupAsync(BiFunction) ou microsoft.servicefabric.data.StateProviderReplica#backupAsync(BackupOption, Duration, CancellationToken, BiFunction)Comentários:Backup/restauração VolatileActorStateProvider.

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

Salva o lembrete de ator especificado. Se um lembrete de ator com determinado nome não existir, ele adicionará o lembrete do ator caso contrário, o lembrete de ator existente com o mesmo nome será atualizado.

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

Salva o conjunto especificado de alterações de estado do ator atomicamente.

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

Função chamada durante suspeita de perda de dados

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

Indica a um réplica que a configuração de um conjunto de réplica foi alterada devido a uma alteração ou tentativa de alteração no réplica Primário. A alteração ocorre devido à falha ou ao balanceamento de carga da réplica Primária anterior. As alterações de época atuam como uma barreira segmentando as operações nos períodos exatos de configuração em que foram enviadas por um réplica primário específico.

Observações:Esse método é chamado porque a réplica Primária do conjunto de réplica foi alterada ou uma alteração foi tentada. As réplicas secundárias recebem esse método quando estão prestes a se tornar o novo réplica Primário ou, se não forem os novos réplica Primários, recebem-no quando tentam obter a primeira operação do novo réplica Primário do fluxo de replicação. As réplicas primárias poderão receber ocasionalmente esse método se houver uma tentativa de trocar o réplica Primário, o que falhará. As informações no updateEpochAsync(Epoch epoch, SequenceNumber previousEpochLastSequenceNumber, CancellationToken cancellationToken) método permitem que o serviço mantenha um vetor de progresso, que é uma lista de cada época que o réplica recebeu e o LSN máximo que eles continham. Os dados de vetor de progresso, juntamente com o LSN máximo aplicado atual, são úteis para um réplica secundário enviar durante a operação de cópia para descrever o progresso da operação. Comparar vetores de progresso recebidos de réplicas secundárias durante a operação de cópia permite que réplicas primárias determinem se a réplica Secundária está atualizada, qual estado deve ser enviado para o réplica Secundário e se a réplica Secundária fez um progresso falso. O progresso falso significa que um LSN em uma época anterior era maior que o LSN que a réplica Primária recebe.

Detalhes do construtor

VolatileActorStateProvider

public VolatileActorStateProvider()

Cria uma instância de VolatileActorStateProvider.

VolatileActorStateProvider

public VolatileActorStateProvider(ReplicatorSettings replicatorSettings)

Cria uma instância de VolatileActorStateProvider com as configurações do replicador especificadas.

Parâmetros:

replicatorSettings - Um ReplicatorSettings objeto que descreve as configurações do replicador.

Detalhes do método

abort

public void abort()

Anule com força o réplica do provedor de estado.

Observações:Isso geralmente ocorre quando uma falha permanente é detectada no nó ou quando o Service Fabric não pode gerenciar de forma confiável o ciclo de vida do réplica devido a falhas internas.

Substituições:

VolatileActorStateProvider.abort()

actorActivatedAsync

public CompletableFuture actorActivatedAsync(ActorId actorId, CancellationToken cancellationToken)

Esse método é invocado como parte do processo de ativação do ator com a ID especificada.

Substituições:

VolatileActorStateProvider.actorActivatedAsync(ActorId actorId, CancellationToken cancellationToken)

Parâmetros:

actorId - Id do ator que está ativado.
cancellationToken -

CancellationTokenpara indicar o status de cancelamento da operação.

Retornos:

Uma tarefa que representa o processamento de notificação de ativação de ator assíncrono.

backupAsync

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

Executa um backup completo do estado gerenciado por este provedor de estado de ator

Observações:Não há suporte para backup/restauração por VolatileActorStateProvider.

Substituições:

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

Parâmetros:

option -

BackupOption para o retorno de chamada

timeout -

java.time.Duration que descreve o tempo limite para o backup

cancellationToken - O token a se monitorar para solicitações de cancelamento.
backupCallback - BackupCallbackCallback a ser chamado quando a pasta de backup tiver sido criada localmente e estiver pronta para ser movida para fora do nó.

Retornos:

Tarefa que representa a operação de backup assíncrona.

Gera:

UnsupportedOperationException

backupAsync

public CompletableFuture backupAsync(BiFunction> backupCallback)

Executa um backup completo do estado gerenciado por este provedor de estado de ator

Observações:Não há suporte para backup/restauração por VolatileActorStateProvider.

Substituições:

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

Parâmetros:

backupCallback - BackupCallbackCallback a ser chamado quando a pasta de backup tiver sido criada localmente e estiver pronta para ser movida para fora do nó.

Retornos:

Tarefa que representa a operação de backup assíncrona.

Gera:

UnsupportedOperationException

changeRoleAsync

public CompletableFuture changeRoleAsync(ReplicaRole newRole, CancellationToken cancellationToken)

Notifique o provedor de estado réplica que sua função está mudando, por exemplo, para Primária ou Secundária.

Substituições:

VolatileActorStateProvider.changeRoleAsync(ReplicaRole newRole, CancellationToken cancellationToken)

Parâmetros:

newRole - O novo ReplicaRole, como primário ou secundário.
cancellationToken -

CancellationTokenpara indicar o status de cancelamento da operação.

Retornos:

Tarefa que representa a operação de função de alteração assíncrona.

closeAsync

public CompletableFuture closeAsync(CancellationToken cancellationToken)

Feche normalmente o provedor de estado réplica.

Observações:Isso geralmente ocorre quando o código do réplica está sendo atualizado, o réplica está sendo movido devido ao balanceamento de carga ou uma falha transitória é detectada.

Substituições:

VolatileActorStateProvider.closeAsync(CancellationToken cancellationToken)

Parâmetros:

cancellationToken -

CancellationTokenpara indicar o status de cancelamento da operação.

Retornos:

Tarefa que representa a operação de fechamento assíncrona.

containsStateAsync

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

Verifica se o provedor de estado do ator contém um estado de ator com o nome de estado especificado.

Substituições:

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

Parâmetros:

actorId - ID do ator para o qual marcar existência de estado.
stateName - Nome do estado do ator a ser marcar para existência.
cancellationToken -

CancellationTokenpara indicar o status de cancelamento da operação.

Retornos:

Uma tarefa que representa a operação de marcar assíncrona. O valor do parâmetro TResult será true se o estado com o nome especificado existir de outra forma false.

currentReplicaRole

public ReplicaRole currentReplicaRole()

deleteReminderAsync

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

Exclui o lembrete de ator especificado se ele existir.

Substituições:

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

Parâmetros:

actorId - ID do ator para excluir o lembrete.
reminderName - Nome do lembrete a ser excluído.
cancellationToken -

CancellationTokenpara indicar o status de cancelamento da operação.

Retornos:

Uma tarefa que representa a operação de exclusão assíncrona.

deleteRemindersAsync

public CompletableFuture deleteRemindersAsync(Map> reminderNames, CancellationToken cancellationToken)

Exclui o conjunto de lembretes especificado

Substituições:

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

Parâmetros:

reminderNames - O conjunto de lembretes a serem excluídos
cancellationToken -

CancellationTokenpara indicar o status de cancelamento da operação.

Retornos:

Uma tarefa que representa a operação de exclusão assíncrona.

enumerateStateNamesAsync

public CompletableFuture> enumerateStateNamesAsync(ActorId actorId, CancellationToken cancellationToken)

Cria uma enumerável de todos os nomes de estado associados ao ator especificado.

Observações:O enumerador retornado do provedor de estado de ator é seguro para usar simultaneamente com leituras e gravações no provedor de estado. Ele representa uma exibição instantâneo consistente do provedor de estado.

Substituições:

VolatileActorStateProvider.enumerateStateNamesAsync(ActorId actorId, CancellationToken cancellationToken)

Parâmetros:

actorId - ID do ator para o qual criar enumerável.
cancellationToken -

CancellationTokenpara indicar o status de cancelamento da operação.

Retornos:

Uma tarefa que representa a operação de enumeração assíncrona. O valor do parâmetro TResult é um enumerável de todos os nomes de estado associados ao ator especificado.

getActorsAsync

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

Obtém ActorIds do Provedor de Estado.

Observações: O

Substituições:

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

Parâmetros:

itemsCount - Número de itens solicitados a serem retornados.
continuationToken - Um token de continuação do qual começar a consultar os resultados. Um valor nulo do token de continuação significa iniciar o retorno de valores que formam o início.
cancellationToken -

CancellationTokenpara indicar o status de cancelamento da operação.

Retornos:

Uma tarefa que representa a operação assíncrona da chamada ao servidor.

getCopyContext

public OperationDataStream getCopyContext()

Obtém contexto em um réplica secundário depois que ele é criado e aberto para enviar contexto à réplica Primária.

Observações:O réplica Primário analisa o contexto e envia o estado de volta por meio de getCopyState(SequenceNumber upToSequenceNumber, OperationDataStream copyContext). getCopyContext()é chamado em réplicas secundárias ociosas e recém-criadas e fornece um mecanismo para estabelecer de forma assíncrona uma conversa bidirecional com a réplica Primária. A réplica Secundária envia OperationData objetos com os quais a réplica Primária pode determinar o progresso da coleta de contexto no réplica Secundário. O réplica Primário responde enviando o estado necessário de volta. Consulte getCopyState(SequenceNumber upToSequenceNumber, OperationDataStream copyContext) no réplica Primário para a outra metade da troca. Para serviços na memória, o getCopyContext() método não é chamado, pois o estado das réplicas secundárias é conhecido (elas estão vazias e exigirão todo o estado).

Substituições:

VolatileActorStateProvider.getCopyContext()

Retornos:

Retorna OperationDataStream.

getCopyState

public OperationDataStream getCopyState(SequenceNumber upToSequenceNumber, OperationDataStream copyContext)

Obtém o estado em um réplica Primário necessário para criar uma réplica secundária.

Observações:Assim como getCopyContext() permite que o réplica Secundário envie contexto para a réplica Primária por meio de um OperationDataStream, getCopyState(SequenceNumber upToSequenceNumber, OperationDataStream copyContext) permite que o réplica Primário responda com um OperationDataStream. O fluxo contém objetos que são entregues à réplica Secundária por meio do getCopyStream() método da FabricReplicator classe . Os objetos implementam Operation e contêm os dados especificados. Quando a réplica Primária recebe essa chamada, ela deve criar e retornar outra OperationDataStream que contenha OperationData. OperationDatarepresenta os dados/estado que o réplica Secundário

Substituições:

VolatileActorStateProvider.getCopyState(SequenceNumber upToSequenceNumber, OperationDataStream copyContext)

Parâmetros:

upToSequenceNumber - O LSN (número máximo da última sequência) que deve ser colocado no fluxo de cópia por meio do getCopyStream() método . LSNs maiores que esse número são entregues à réplica Secundária como parte do fluxo de replicação por meio do getReplicationStream() método .
copyContext - Um OperationDataStream que contém os OperationData objetos criados pelo réplica Secundário. requer atualizar o fornecido

Retornos:

Retorna OperationDataStream.

Gera:

IllegalStateException

getLastCommittedSequenceNumber

public long getLastCommittedSequenceNumber()

Obtém o último número de sequência confirmado pelo serviço.

Observações:Esse método é chamado em um serviço quando ele é iniciado pela primeira vez, caso ele tenha qualquer estado persistente e quando há suspeita de perda de dados. Quando um serviço com estado réplica é iniciado, ele tem a opção de restaurar todos os dados que possam ter persistido das atualizações anteriores. Se ele restaurar algum estado dessa maneira, seu progresso atual será o último número de sequência gravado para esses dados. Um serviço volátil pode simplesmente retornar 0. Observe que esse método não é chamado para determinar uma nova eleição primária durante o failover, porque o progresso atual confirmado já é conhecido pela FabricReplicator classe naquele momento.

Substituições:

VolatileActorStateProvider.getLastCommittedSequenceNumber()

Retornos:

Retorna long.

initialize

public void initialize(ActorTypeInformation actorTypeInformation)

Inicializa o provedor de estado do ator com informações de tipo do tipo de ator associado a ele.

Substituições:

VolatileActorStateProvider.initialize(ActorTypeInformation actorTypeInformation)

Parâmetros:

actorTypeInformation -

ActorTypeInformation Digite informações da classe de ator.

initialize

public void initialize(StatefulServiceInitializationParameters initializationParameters)

Inicialize o provedor de estado réplica usando as informações de inicialização do serviço.

Observações:Nenhum processamento complexo deve ser feito durante Inicializar. A inicialização cara ou de execução longa deve ser feita no OpenAsync.

Substituições:

VolatileActorStateProvider.initialize(StatefulServiceInitializationParameters initializationParameters)

Parâmetros:

initializationParameters -

StatefulServiceInitializationParameterscomo nome do serviço, ID de partição, ID de réplica e informações do pacote de código.

loadRemindersAsync

public CompletableFuture loadRemindersAsync(CancellationToken cancellationToken)

Carrega todos os lembretes contidos no provedor de estado do ator.

Substituições:

VolatileActorStateProvider.loadRemindersAsync(CancellationToken cancellationToken)

Parâmetros:

cancellationToken -

CancellationTokenpara indicar o status de cancelamento da operação.

Retornos:

Uma tarefa que representa a operação de carga assíncrona. O valor do parâmetro TResult é uma coleção de todos os lembretes de ator contidos no provedor de estado do ator.

loadStateAsync

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

Carrega o estado do ator associado ao nome de estado especificado.

Substituições:

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

Parâmetros:

actorId - Id do ator que está ativado.
stateName - StateName.
cancellationToken -

CancellationTokenpara indicar o status de cancelamento da operação.

Retornos:

Uma tarefa que representa a operação de carga assíncrona. O valor do parâmetro TResult contém o valor do estado do ator associado ao nome de estado fornecido.

Gera:

FabricKeyNotFoundException - Se o estado do ator associado ao nome de estado especificado não existir.

onDataLossAsync

public CompletableFuture onDataLossAsync(CancellationToken cancellationToken)

Indica que um quorum de gravação de réplicas neste conjunto de réplica foi perdido e, portanto, a perda de dados pode ter ocorrido. O conjunto de réplica consiste na maioria das réplicas, que inclui o réplica Primário.

Observações:Quando o runtime do Service Fabric observa a falha de um quorum de réplicas, que inclui o réplica Primário, elege um novo réplica Primário e chama imediatamente esse método na nova réplica Primária. Um réplica Primário que é informado de uma possível perda de dados pode optar por restaurar seu estado de alguma fonte de dados externa ou pode continuar a ser executado com o estado que ele tem atualmente. Se o serviço continuar a ser executado com seu estado atual, ele deverá retornar false desse método, o que indica que nenhuma alteração de estado foi feita. Se tiver restaurado ou alterado seu estado, como reverter o trabalho incompleto, ele deverá retornar true. Se true for retornado, o estado em outras réplicas deverá ser considerado incorreto. Portanto, o runtime do Service Fabric remove as outras réplicas do conjunto de réplica e as recria.

Substituições:

VolatileActorStateProvider.onDataLossAsync(CancellationToken cancellationToken)

Parâmetros:

cancellationToken -

CancellationTokenpara indicar o status de cancelamento da operação.

Retornos:

Retorna java.util.concurrent.CompletableFuture do tipo java.lang.Boolean, que indica se o estado foi alterado. Quando ele foi alterado, o método retorna true ou quando não foi alterado, o método retorna false.

onSnapshotAsync

public CompletableFuture onSnapshotAsync(Duration currentLogicalTime)

Parâmetros:

currentLogicalTime

openAsync

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

Abra o provedor de estado réplica para uso.

Observações:As tarefas de inicialização do provedor de estado estendido podem ser iniciadas no momento.

Substituições:

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

Parâmetros:

openMode - O ReplicaOpenMode que indica se esse é um réplica novo ou existente.
partition - A StatefulServicePartition partição à qual o réplica pertence.
cancellationToken -

CancellationTokenpara indicar o status de cancelamento da operação.

Retornos:

Tarefa que representa a operação aberta assíncrona. O resultado contém o replicador responsável por replicar o estado entre outras réplicas de provedor de estado na partição.

reminderCallbackCompletedAsync

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

Invocado quando um lembrete é acionado e termina de executar seu retorno de chamada com êxito receiveReminderAsync(String reminderName, byte[] context, Duration timeSpan, Duration period)

Substituições:

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

Parâmetros:

actorId - ID do ator que possui lembrete
reminder - Lembrete do ator que foi concluído com êxito.
cancellationToken - O token a se monitorar para solicitações de cancelamento.

Retornos:

Uma tarefa que representa o processamento de notificação de retorno de chamada de lembrete assíncrono concluído.

removeActorAsync

public CompletableFuture removeActorAsync(ActorId actorId, CancellationToken cancellationToken)

Remove todos os estados e lembretes existentes associados ao ator especificado atomicamente.

Substituições:

VolatileActorStateProvider.removeActorAsync(ActorId actorId, CancellationToken cancellationToken)

Parâmetros:

actorId - ID do ator para o qual remover o estado.
cancellationToken -

CancellationTokenpara indicar o status de cancelamento da operação.

Retornos:

Uma tarefa que representa a operação de remoção assíncrona.

restoreAsync

public CompletableFuture restoreAsync(String backupFolderPath)

Não há suporte para restaurar um backup feito por microsoft.servicefabric.data.StateProviderReplica#backupAsync(BiFunction) ou microsoft.servicefabric.data.StateProviderReplica#backupAsync(BackupOption, Duration, CancellationToken, BiFunction)Comentários:Backup/restauração VolatileActorStateProvider.

Substituições:

VolatileActorStateProvider.restoreAsync(String backupFolderPath)

Parâmetros:

backupFolderPath - Diretório de onde réplica será restaurado.

Retornos:

Tarefa que representa a operação de restauração assíncrona.

Gera:

UnsupportedOperationException

restoreAsync

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

Não há suporte para restaurar um backup feito por microsoft.servicefabric.data.StateProviderReplica#backupAsync(BiFunction) ou microsoft.servicefabric.data.StateProviderReplica#backupAsync(BackupOption, Duration, CancellationToken, BiFunction)Comentários:Backup/restauração VolatileActorStateProvider.

Substituições:

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

Parâmetros:

backupFolderPath - Diretório de onde réplica será restaurado.
restorePolicy - O RestorePolicy.
timeout - O tempo limite para essa operação.
cancellationToken - O token a se monitorar para solicitações de cancelamento.

Retornos:

Tarefa que representa a operação de restauração assíncrona.

Gera:

UnsupportedOperationException

saveReminderAsync

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

Salva o lembrete de ator especificado. Se um lembrete de ator com determinado nome não existir, ele adicionará o lembrete do ator caso contrário, o lembrete de ator existente com o mesmo nome será atualizado.

Substituições:

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

Parâmetros:

actorId - ID do ator para o qual salvar o lembrete.
reminder - Lembrete do ator para salvar.
cancellationToken -

CancellationTokenpara indicar o status de cancelamento da operação.

Retornos:

Uma tarefa que representa a operação de salvar assíncrona.

saveStateAsync

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

Salva o conjunto especificado de alterações de estado do ator atomicamente.

Substituições:

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

Parâmetros:

actorId - ID do ator para o qual salvar as alterações de estado.
stateChanges - Coleção de alterações de estado a serem salvas.
cancellationToken -

CancellationTokenpara indicar o status de cancelamento da operação.

Retornos:

Uma tarefa que representa a operação de salvar assíncrona. A coleção de alterações de estado deve conter apenas um item para um determinado nome de estado. A operação de salvamento falhará ao tentar adicionar um estado de ator que já existe ou atualizar/remover um estado de ator que não existe.

setOnDataLossCallback

public void setOnDataLossCallback(Function> onDataLossAsync)

Função chamada durante suspeita de perda de dados

Substituições:

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

Parâmetros:

onDataLossAsync - TODO. Função chamada como parte do processamento suspeito de perda de dados. A função recebe CancellationToken e retorna um CompleteableFuture que representa o processamento assíncrono do evento. Retornando true, indica que o estado do réplica foi restaurado. False indica que o estado do réplica não foi alterado.

traceId

public String traceId()

traceType

public String traceType()

transientErrorRetryDelay

public Duration transientErrorRetryDelay()

updateEpochAsync

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

Indica a um réplica que a configuração de um conjunto de réplica foi alterada devido a uma alteração ou tentativa de alteração no réplica Primário. A alteração ocorre devido à falha ou ao balanceamento de carga da réplica Primária anterior. As alterações de época atuam como uma barreira segmentando as operações nos períodos exatos de configuração em que foram enviadas por um réplica primário específico.

Observações:Esse método é chamado porque a réplica Primária do conjunto de réplica foi alterada ou uma alteração foi tentada. As réplicas secundárias recebem esse método quando estão prestes a se tornar o novo réplica Primário ou, se não forem os novos réplica Primários, recebem-no quando tentam obter a primeira operação do novo réplica Primário do fluxo de replicação. As réplicas primárias poderão receber ocasionalmente esse método se houver uma tentativa de trocar o réplica Primário, o que falhará. As informações no updateEpochAsync(Epoch epoch, SequenceNumber previousEpochLastSequenceNumber, CancellationToken cancellationToken) método permitem que o serviço mantenha um vetor de progresso, que é uma lista de cada época que o réplica recebeu e o LSN máximo que eles continham. Os dados de vetor de progresso, juntamente com o LSN máximo aplicado atual, são úteis para um réplica secundário enviar durante a operação de cópia para descrever o progresso da operação. Comparar vetores de progresso recebidos de réplicas secundárias durante a operação de cópia permite que réplicas primárias determinem se a réplica Secundária está atualizada, qual estado deve ser enviado para o réplica Secundário e se a réplica Secundária fez um progresso falso. O progresso falso significa que um LSN em uma época anterior era maior que o LSN que a réplica Primária recebe.

Substituições:

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

Parâmetros:

epoch - O novo Epoch.
previousEpochLastSequenceNumber - O LSN (número máximo de sequência) que deveria ter sido observado na época anterior.
cancellationToken -

CancellationTokenpara indicar o status de cancelamento da operação.

Retornos:

Retorna Tarefa.

Aplica-se a