Locking Under Committed Access
Under committed access, Essbase locks blocks for read and write access:
For read access, the lock remains until another transaction requests it, whether or not the transaction is complete. Other transactions can read the locked block, but none can alter it.
For write access, a transaction locks and holds the lock on each block that it modifies until the transaction completes.
Table 158 illustrates locking behavior under committed access when multiple transactions are contending for a lock on the same data. In this example, transaction Tx1 is running and transaction Tx2 is requesting access to the same data. (Note that access to locked blocks depends on what options are enabled. For a discussion of options, see Committed Access.)
Table 158. Locking Behavior Under Committed Access
| Tx1 holds read lock; Tx2 requests read lock | Tx1 holds read lock; Tx2 requests write lock | Tx1 holds write lock; Tx2 requests read lock | Tx1 holds write lock; Tx2 requests write lock |
---|
Pre-image access enabled | Wait (timeout) period specified (indefinite wait or a number of seconds wait) | Tx2 gets read lock. | Tx2 waits for Tx1 to release read lock. | Tx2 gets pre-image access. | Tx2 waits for Tx1 to release write lock. |
No wait (timeout) period specified (immediate timeout) | Tx2 gets read lock. | Essbase issues timeout message and aborts the transaction. | Tx2 gets pre-image access. | Essbase issues timeout message and aborts the Tx2 transaction. |
No pre-image access | Wait (timeout) period specified (indefinite wait or a number of seconds wait) | Tx2 gets read lock. | Tx2 waits for Tx1 to release read lock. | Tx2 waits for Tx1 to release write lock. | Tx2 waits for Tx1 to release write lock. |
No wait (timeout) period specified (immediate timeout) | Tx2 gets read lock. | Essbase issues time-out message and aborts the Tx2 transaction. | Essbase issues timeout message and aborts the Tx2 transaction. | Essbase issues timeout message and aborts the Tx2 transaction. |
For information on setting concurrency parameters, see Specifying Data Integrity Settings.