RECLOCKO parameter: Difference between revisions

From m204wiki
Jump to navigation Jump to search
(Automatically generated page update)
Line 41: Line 41:
<li>If <code>RECLOCKO X'04'</code> is set and the conflict is with a single record or recordset lock, message MSIR.1056 is issued after an <code>MSIR.1055</code> and indicates whether the lock being conflicted with is a record or a recordset, whether it's locked share or exclusive, the time the lock was originally obtained, and the user number of the user that originally obtained the lock. The latter could be different from the current user that holds the lock in the case of session objects. The time the lock was obtained can be used to determine what request was running when the record was locked.
<li>If <code>RECLOCKO X'04'</code> is set and the conflict is with a single record or recordset lock, message MSIR.1056 is issued after an <code>MSIR.1055</code> and indicates whether the lock being conflicted with is a record or a recordset, whether it's locked share or exclusive, the time the lock was originally obtained, and the user number of the user that originally obtained the lock. The latter could be different from the current user that holds the lock in the case of session objects. The time the lock was obtained can be used to determine what request was running when the record was locked.
<li>If <code>RECLOCKO X'04'</code> is set and the conflict is with a pending update lock, message MSIR.1056 is issued after an MSIR.1055 and indicates that the conflict is with an exclusive pending update lock (pending update locks are always exclusive). A pending update lock is held by <var class="product">Model 204</var> for all updated records in TBO files so that users cannot see the partially updated record and so that no other user can update the record until the transaction is committed or backed out.
<li>If <code>RECLOCKO X'04'</code> is set and the conflict is with a pending update lock, message MSIR.1056 is issued after an MSIR.1055 and indicates that the conflict is with an exclusive pending update lock (pending update locks are always exclusive). A pending update lock is held by <var class="product">Model 204</var> for all updated records in TBO files so that users cannot see the partially updated record and so that no other user can update the record until the transaction is committed or backed out.
<li>If the appropriate bits are off in <var>RECLOCKO</var> then the corresponding messages are not issued.  In particular:
<ul>
<li>If both the <code>X'01'</code> and <code>X'02'</code> bits are off, then neither MSIR.1055, MSIR.1056, nor MSIR.1057 are issued.
<li>If the <code>X'04'</code> bit is off, then neither MSIR.1056  nor MSIR.1057 are issued, whether <code>X'01'</code> or <code>X'02'</code> is on or not.
</ul>
</ul>
</ul>


[[Category:System parameters]]
[[Category:System parameters]]
[[Category:Parameters]]
[[Category:Parameters]]

Revision as of 18:01, 9 October 2013

Record locking options

Summary

Default value
X'03'
Parameter type
System
Where set
User 0 CCAIN parameters
Related products
All
Introduced
Sirius Mods 8.1

Description

This parameter enhances Model 204 record lock conflict handling. The meaning of the bits are:

X'01' Issue message MSIR.1055 for any untrapped record locking conflicts. MSIR.1055 provides information about the user that holds the lock and the file and record number for which there's a conflict. In addition, if the X'04' bit of RECLOCKO is set, MSIR.1055 would be followed by an MSIR.1056 or MSIR.1057 message that provides further information about the lock conflict.

A record locking conflict is considered untrapped if it is not inside a Try block with a Catch RecordLockingConflict clause and if there is no On Record Locking Conflict or On Find Conflict that would be driven by the conflict.
X'02' Issue message MSIR.1055 for any trapped record locking conflicts. MSIR.1055 provides information about the user that holds the lock and the file and record number for which there's a conflict. In addition, if the X'04' bit of RECLOCKO is set, MSIR.1055 would be followed by an MSIR.1056 or MSIR.1057 message that provides further information about the lock conflict.

A record locking conflict is considered trapped if it is inside a Try block with a Catch RecordLockingConflict clause or if there is an On Record Locking Conflict or On Find Conflict that would be driven by the conflict.
X'04' Maintain extra information in the record locking table. This information is provided in message MSIR.1056 or MSIR.1057 following MSIR.1055 which is issued after a record locking conflict (depending on the X'01' and X'02' bits of RECLOCKO) and can be useful in determining the cause of a record locking conflict. The extra information collected by setting this bit is also available in RecordLockingConflict objects.

Setting this bit increases the record locking table space requirements. See the usage notes below for more information.

Usage notes

  • The default value for RECLOCKO is X'03' which means that all record locking conflicts will result in MSIR.1055 messages being issued to provide information about any record locking conflict. Since record locking conflicts should be relatively rare, there would seem to be little cost to always issuing these messages.
  • Setting RECLOCKO to X'04' increases recording locking table space requirements so should probably be accompanied by an increase in LRETBL. While a 33% increase in table usage is theoretically possible, the actual increase would probably be significant less than that, more on the order of 5% to 10%. Since the record locking table is in 64-bit storage, the cost of an increase in LRETBL is an increase in 64-bit storage usage and shouldn't affect the availability of 31-bit storage.
  • If RECLOCKO X'04' is set and the conflict is with a single record or recordset lock, message MSIR.1056 is issued after an MSIR.1055 and indicates whether the lock being conflicted with is a record or a recordset, whether it's locked share or exclusive, the time the lock was originally obtained, and the user number of the user that originally obtained the lock. The latter could be different from the current user that holds the lock in the case of session objects. The time the lock was obtained can be used to determine what request was running when the record was locked.
  • If RECLOCKO X'04' is set and the conflict is with a pending update lock, message MSIR.1056 is issued after an MSIR.1055 and indicates that the conflict is with an exclusive pending update lock (pending update locks are always exclusive). A pending update lock is held by Model 204 for all updated records in TBO files so that users cannot see the partially updated record and so that no other user can update the record until the transaction is committed or backed out.
  • If the appropriate bits are off in RECLOCKO then the corresponding messages are not issued. In particular:
    • If both the X'01' and X'02' bits are off, then neither MSIR.1055, MSIR.1056, nor MSIR.1057 are issued.
    • If the X'04' bit is off, then neither MSIR.1056 nor MSIR.1057 are issued, whether X'01' or X'02' is on or not.