VolatileActorStateProvider.IStateProvider.UpdateEpochAsync Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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 na réplica Primária. 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.
System.Threading.Tasks.Task IStateProvider.UpdateEpochAsync (System.Fabric.Epoch epoch, long previousEpochLastSequenceNumber, System.Threading.CancellationToken cancellationToken);
abstract member System.Fabric.IStateProvider.UpdateEpochAsync : System.Fabric.Epoch * int64 * System.Threading.CancellationToken -> System.Threading.Tasks.Task
override this.System.Fabric.IStateProvider.UpdateEpochAsync : System.Fabric.Epoch * int64 * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Function UpdateEpochAsync (epoch As Epoch, previousEpochLastSequenceNumber As Long, cancellationToken As CancellationToken) As Task Implements IStateProvider.UpdateEpochAsync
Parâmetros
- previousEpochLastSequenceNumber
- Int64
O LSN (número máximo de sequência) que deveria ter sido observado na época anterior.
- cancellationToken
- CancellationToken
O CancellationToken objeto que a operação está observando. Ele pode ser usado para enviar uma notificação de que a operação deve ser cancelada. Observe que o cancelamento é um aviso e que a operação ainda pode ser concluída mesmo se for cancelada.
Retornos
Retorna Task.
Implementações
Comentários
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, Int64, 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.
Aplica-se a
Azure SDK for .NET