다음을 통해 공유


ZooKeeperBasedMembershipTable.UpdateRow 메서드

정의

원자적으로 하나의 사일로에 대한 MembershipEntry를 업데이트하고 TableVersion도 업데이트하려고 합니다. 작업이 성공하면 테이블에 다음과 같은 변경 내용이 적용됩니다.

  1. 이 사일로의 MembershipEntry는 새 MembershipEntry로 업데이트됩니다(이전 항목은 새 항목으로 완전히 대체됨).
  2. 업데이트된 MembershipEntry에 대한 eTag는 자동으로 생성된 새 고유 eTag가 있는 eTag가 됩니다.
  3. 테이블의 TableVersion.Version은 새 TableVersion.Version으로 업데이트됩니다.
  4. 테이블의 TableVersion etag는 자동으로 생성된 새 고유 eTag로 업데이트됩니다. 테이블에 대한 모든 변경 내용, 새 행 업데이트 및 테이블 버전 및 연결된 etag 업데이트는 원자성으로 발생하거나 부작용 없이 원자성으로 실패해야 합니다. 작업은 다음 각 조건에서 실패해야 합니다.
  5. 지정된 사일로에 대한 MembershipEntry가 테이블에 없습니다.
  6. 지정된 사일로에 대한 MembershipEntry는 테이블에 있지만 테이블의 etag가 제공된 etag와 일치하지 않습니다.
  7. TableVersion.VersionEtag 속성에 지정된 지정된 TableVersion etag가 테이블의 TableVersion etag와 일치하지 않아 TableVersion을 업데이트하지 못했습니다.
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

지정된 MembershipEntry에 대한 etag입니다.

tableVersion
TableVersion

etag와 함께 이 테이블의 새 TableVersion입니다.

반환

업데이트 작업이 성공하면 True이고 그렇지 않으면 false입니다.

구현

적용 대상