Locking Under Committed Access

Under committed access, Essbase locks blocks for read and write access:

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.