ZooKeeperBasedMembershipTable.UpdateRow Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Atomically tries to update the MembershipEntry for one silo and also update the TableVersion. If operation succeeds, the following changes would be made to the table:
- The MembershipEntry for this silo will be updated to the new MembershipEntry (the old entry will be fully substitued by the new entry)
- The eTag for the updated MembershipEntry will also be eTag with the new unique automatically generated eTag.
- TableVersion.Version in the table will be updated to the new TableVersion.Version.
- TableVersion etag in the table will be updated to the new unique automatically generated eTag. All those changes to the table, update of a new row and update of the table version and the associated etags, should happen atomically, or fail atomically with no side effects. The operation should fail in each of the following conditions:
- A MembershipEntry for a given silo does not exist in the table
- A MembershipEntry for a given silo exist in the table but its etag in the table does not match the provided etag.
- Update of the TableVersion failed since the given TableVersion etag (as specified by the TableVersion.VersionEtag property) did not match the TableVersion etag in the 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)
Parameters
- entry
- MembershipEntry
MembershipEntry to be updated.
- etag
- String
The etag for the given MembershipEntry.
- tableVersion
- TableVersion
The new TableVersion for this table, along with its etag.
Returns
True if the update operation succeeded and false otherwise.