Compartilhar via


ZooKeeperBasedMembershipTable.UpdateRow Método

Definição

Atomicamente tenta atualizar o MembershipEntry para um silo e também atualizar o TableVersion. Se a operação for bem-sucedida, as seguintes alterações serão feitas na tabela:

  1. O MembershipEntry para esse silo será atualizado para o novo MembershipEntry (a entrada antiga será totalmente substituída pela nova entrada)
  2. A eTag para a MembershipEntry atualizada também será eTag com a nova eTag gerada automaticamente.
  3. TableVersion.Version na tabela será atualizado para o novo TableVersion.Version.
  4. A etag TableVersion na tabela será atualizada para a nova eTag gerada automaticamente. Todas essas alterações na tabela, atualização de uma nova linha e atualização da versão da tabela e das etags associadas devem ocorrer atomicamente ou falhar atomicamente sem efeitos colaterais. A operação deve falhar em cada uma das seguintes condições:
  5. Um MembershipEntry para um determinado silo não existe na tabela
  6. Um MembershipEntry para um determinado silo existe na tabela, mas sua etag na tabela não corresponde à etag fornecida.
  7. Falha na atualização do TableVersion desde que a etag TableVersion fornecida (conforme especificado pela propriedade TableVersion.VersionEtag) não correspondeu à etag TableVersion na tabela.
public System.Threading.Tasks.Task<bool> UpdateRow (Orleans.MembershipEntry entry, string etag, Orleans.TableVersion tableVersion);
abstract member UpdateRow : Orleans.MembershipEntry * string * Orleans.TableVersion -> System.Threading.Tasks.Task<bool>
override this.UpdateRow : Orleans.MembershipEntry * string * Orleans.TableVersion -> System.Threading.Tasks.Task<bool>
Public Function UpdateRow (entry As MembershipEntry, etag As String, tableVersion As TableVersion) As Task(Of Boolean)

Parâmetros

entry
MembershipEntry

MembershipEntry a ser atualizado.

etag
String

A etag para o MembershipEntry especificado.

tableVersion
TableVersion

O novo TableVersion para esta tabela, juntamente com sua etag.

Retornos

True se a operação de atualização tiver sido bem-sucedida e false caso contrário.

Implementações

Aplica-se a