Partager via


ZooKeeperBasedMembershipTable.UpdateRow Méthode

Définition

Atomically essaie de mettre à jour MembershipEntry pour un silo et de mettre également à jour TableVersion. Si l’opération réussit, les modifications suivantes sont apportées à la table :

  1. L’élément MembershipEntry de ce silo sera mis à jour vers la nouvelle MembershipEntry (l’ancienne entrée sera entièrement substituée par la nouvelle entrée)
  2. L’eTag pour l’élément MembershipEntry mis à jour sera également eTag avec le nouvel eTag unique généré automatiquement.
  3. TableVersion.Version dans la table sera mis à jour vers la nouvelle TableVersion.Version.
  4. L’etag TableVersion dans la table sera mis à jour vers le nouvel eTag unique généré automatiquement. Toutes ces modifications apportées à la table, à savoir la mise à jour d’une nouvelle ligne et la mise à jour de la version de la table et des etags associés, doivent se produire de manière atomique ou échouer de manière atomique sans effets secondaires. L’opération doit échouer dans chacune des conditions suivantes :
  5. Un MembershipEntry pour un silo donné n’existe pas dans la table
  6. Un MembershipEntry pour un silo donné existe dans la table, mais son etag dans la table ne correspond pas à l’etag fourni.
  7. La mise à jour de tableVersion a échoué, car l’etag TableVersion donné (comme spécifié par la propriété TableVersion.VersionEtag) ne correspondait pas à l’etag TableVersion dans la table.
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)

Paramètres

entry
MembershipEntry

MembershipEntry à mettre à jour.

etag
String

Etag pour l’élément MembershipEntry donné.

tableVersion
TableVersion

Nouvelle TableVersion pour cette table, ainsi que son etag.

Retours

True si l’opération de mise à jour a réussi et false dans le cas contraire.

Implémente

S’applique à