Поделиться через


ZooKeeperBasedMembershipTable.UpdateRow Метод

Определение

Atomically пытается обновить MembershipEntry для одного хранилища, а также обновить TableVersion. Если операция будет выполнена успешно, в таблицу будут внесены следующие изменения:

  1. MembershipEntry для этого хранилища будет обновлен до новой membershipEntry (старая запись будет полностью заменена новой записью).
  2. ETag для обновленного MembershipEntry также будет eTag с новым уникальным автоматически созданным eTag.
  3. TableVersion.Version в таблице будет обновлен до новой версии TableVersion.Version.
  4. ETag TableVersion в таблице будет обновлен до нового уникального автоматически созданного eTag. Все эти изменения в таблице, обновление новой строки и обновление версии таблицы и связанных тегов etag должны происходить атомарным образом или завершаться атомарным сбоем без побочных эффектов. Операция должна завершиться ошибкой в каждом из следующих условий:
  5. MembershipEntry для заданного хранилища не существует в таблице
  6. MembershipEntry для заданного хранилища существует в таблице, но его тег etag в таблице не соответствует указанному etag.
  7. Не удалось обновить TableVersion, так как данный тег TableVersion etag (как указано в свойстве TableVersion.VersionEtag) не совпадал с тегом TableVersion etag в таблице.
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)

Параметры

entry
MembershipEntry

MembershipEntry для обновления.

etag
String

Тег etag для заданного MembershipEntry.

tableVersion
TableVersion

Новая tableVersion для этой таблицы вместе с ее тегом etag.

Возвращаемое значение

Значение true, если операция обновления прошла успешно и false в противном случае.

Реализации

Применяется к