Skip to content

ExclusiveLockTransactionTestRunner.ConcurrentReadThenWriteWithoutExclusiveLock_ThrowsLockException(string)

ConcurrentReadThenWriteWithoutExclusiveLock_ThrowsLockException(string)

virtual
View source
public virtual Task ConcurrentReadThenWriteWithoutExclusiveLock_ThrowsLockException(string grainStates)
Verifies that concurrent Read-then-Write transactions on the same grain cause OrleansTransactionLockUpgradeException or OrleansBrokenTransactionLockException when no exclusive lock is used. Scenario (LockUpgradeException): TX1: PerformRead → shared lock acquired TX2: PerformRead → shared lock acquired (same group) TX1: PerformUpdate → lock upgrade fails Scenario (BrokenTransactionLockException): TX1: PerformRead → shared lock acquired TX2: PerformRead → shared lock acquired (same group) TX2: PerformUpdate → upgraded, TX1 rolled back TX1: PerformUpdate → broken lock detected

Parameters

grainStatesstring