IStateProvider.UpdateEpochAsync(Epoch, Int64, CancellationToken) Método

Definição

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 do réplica primário 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.

public System.Threading.Tasks.Task UpdateEpochAsync (System.Fabric.Epoch epoch, long previousEpochLastSequenceNumber, System.Threading.CancellationToken cancellationToken);
abstract member UpdateEpochAsync : System.Fabric.Epoch * int64 * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Function UpdateEpochAsync (epoch As Epoch, previousEpochLastSequenceNumber As Long, cancellationToken As CancellationToken) As Task

Parâmetros

epoch
Epoch

O novo Epoch.

previousEpochLastSequenceNumber
Int64

O LSN (número máximo de sequência) 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.

Comentários

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 estado do réplica.

Comparar vetores de progresso recebidos de réplicas secundárias durante a operação de cópia permite que as réplicas primárias determinem se o réplica secundário está atualizado, qual estado deve ser enviado para o réplica secundário e se o réplica secundário fez um progresso falso.

O progresso falso significa que um réplica secundário relata que um LSN em uma época anterior era maior que o LSN que o réplica primário tem em seu vetor de progresso.

Aplica-se a