- A transaction starts to run.
- One of the first requests in that transaction obtains locks, which will not be released until the entire transaction completes.
- The system is busy, so a throttle delays a later request in the transaction.
- Requests that are running now need the locks held by the request in the delay queue. These active requests cannot complete because they cannot get the locks they need.
- TASM cannot release the request in the delay queue because the active requests are not completing.
Sometimes blocked requests resolve themselves. TASM can also act when a throttle delays one request in a transaction. The Block Cycles parameter together with the Exception Interval parameter specifies how long TASM should wait before acting on a blocked request.
- Log that it is holding a resource needed by a running request
- Abort it because it is holding a resource needed by a running request
- Release it to run
If you select Abort or Release, TASM logs that action to DBC.TDWMEventLog.
By default, Block Cycles is set to 1 and Block Action is set to Release. If a blocked request occurs, the number of Block Cycles should be enough to let the system try to resolve the block normally. After the waiting interval, TASM lets the blocking request run so it can free locks for other requests. If Exception Interval is set to 60 seconds and Block Cycles is set to 2, two 60-second cycles (2 minutes) must pass before TASM acts. If Block Cycles is set to Off, TASM does not resolve blocked requests.