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


ZooKeeperBasedMembershipTable.InsertRow(MembershipEntry, TableVersion) Метод

Определение

Атомарным образом пытается вставить (добавить) новый membershipEntry для одного экземпляра, а также обновить TableVersion. Если операция будет выполнена успешно, в таблицу будут внесены следующие изменения:

  1. В таблицу будет добавлена новая подписка MembershipEntry.
  2. Добавленный membershipEntry также будет добавлен с новым уникальным автоматически созданным eTag.
  3. TableVersion.Version в таблице будет обновлен до новой версии TableVersion.Version.
  4. ETag TableVersion в таблице будет обновлен до нового уникального автоматически созданного eTag. Все эти изменения в таблице, вставка новой строки и обновление версии таблицы и связанных тегов etag должны происходить атомарным образом или завершаться атомарным сбоем без побочных эффектов. Операция должна завершиться ошибкой в каждом из следующих условий:
  5. MembershipEntry для заданного хранилища уже существует в таблице
  6. Не удалось обновить TableVersion, так как данный тег TableVersion etag (как указано в свойстве TableVersion.VersionEtag) не совпадал с тегом TableVersion etag в таблице.
public System.Threading.Tasks.Task<bool> InsertRow (Orleans.MembershipEntry entry, Orleans.TableVersion tableVersion);
abstract member InsertRow : Orleans.MembershipEntry * Orleans.TableVersion -> System.Threading.Tasks.Task<bool>
override this.InsertRow : Orleans.MembershipEntry * Orleans.TableVersion -> System.Threading.Tasks.Task<bool>
Public Function InsertRow (entry As MembershipEntry, tableVersion As TableVersion) As Task(Of Boolean)

Параметры

entry
MembershipEntry

MembershipEntry для вставки.

tableVersion
TableVersion

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

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

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

Реализации

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