Salesforce

Explanation of the Lock Table flags in promon

« Go Back

Information

 
TitleExplanation of the Lock Table flags in promon
URL Name21639
Article Number000136226
EnvironmentProduct: Progress
Version: 9.x
Product: OpenEdge
Version: 10.x, 11.x
OS: All supported platforms
Question/Problem Description
What do the Lock Table flags in promon mean?
Explanation of the Lock Table flags in promon
What are the Lock Table flags in promon?
Steps to Reproduce
Clarifying Information
Progress Virtual System Tables may be used to access the lock information provided by Promon.
In version 9.1C, for example, Lock Table Activity is displayed using _ActLock.
Error Message
Defect Number
Enhancement Number
Cause
Resolution
In the R&D section of Promon, under 1. Status Displays there is menu 6. Lock Table, which is used to display locking information, specifically the types of locks being used.

Most of the lock flags are self-explanatory and easily understood. Details can be found in Progress Documentation, and here is an extract from the current documentation set:

OpenEdge Data Management: Database Administration: PROMON Record Locking Table option: Page 529

Lock

One of five lock types:

X (exclusive lock) 
S (share lock)
IX (intent exclusive lock)
IS (intent share lock)
SIX (shared lock on table with intent to set exclusive locks on records).


Flags

There are several possible types of flags. The table below lists flag types and their meanings:
 
Table 78. Flag values
FlagNameDescription
CCreateThe lock is in create mode.
DDowngradeThe lock is downgraded.
EExpiredThe lock wait timeout has expired on this queued lock.
HOn holdThe "onhold" flag is set.
JJTAThe lock is part of a JTA transaction
KKeepKeep the lock across transaction end boundary
LLimbo lockThe client has released the record, but the transaction has not completed. The record lock is not released until the transaction ends.
PPurged lock entryThe lock is no longer held.
QQueued lock requestRepresents a queued request for a lock already held by another process.
UUpgrade requestThe user has requested a lock upgrade from SHARE to EXCLUSIVE.


Here are some further explanations and examples:


X indicates an EXCLUSIVE Lock. Only one user can have an exclusive lock, only that user may update the record at that time.

S Indicates a SHARE Lock. Multiple users can have a share lock on the same record at once.

X U Lock indicates an Exclusive lock UPGRADED from a Share lock. Users that have a share lock may attempt to update the record. The first one to do so will be granted this lock.

S D Lock indicates a Share lock DOWNGRADED from an Exclusive lock. Following from an "X U" lock, if the user has committed updates to the record but has not released the record yet, the lock gets downgraded to Share lock again.
Note that this flag ('D') is only set when an indexed field is updated. Not when a non-indexed field is updated. Nevertheless, the lock is being downgraded in either case, and the lack of the 'D' flag in one case does not indicate a locking problem.

L Lock is in a LIMBO state. The lock is held until the transaction is committed even though the user has released it. These are held to ensure data integrity.

Q Request for the lock is QUEUED. User is waiting for a conflicting lock held by another user to be released. The conflicting lock can be found as a lock for the same table & recid, without the Q flag

P Lock is PURGED. Lock is no longer held.

H Lock is on HOLD. The lock is in a temporary state during a lock conflict. When a process is waiting for a lock and has not yet taken ownership of the lock, it is in a HOLD status.
 
Workaround
Notes
Progress Documentation is available for viewing online and also for download in PDF format.

References to Other Documentation:
Progress Article(s):
OpenEdge: References to Online Documentation
Record Locking - How to know who has locked the record using VST?
Keyword Phrase
Last Modified Date11/5/2021 1:30 PM

Powered by