Re:Access to Lock Data Used in PMRM?

  • 1.  Re:Access to Lock Data Used in PMRM?

    Posted 03-09-2010 01:35 PM
    Hi, =20

    I have been looking at a bunch of DEADLOCK and STALL issues in some CAS code. =20 =20 I have a couple programs that are stalling quite often. One in partiuclar appears,based on the last command displayed in the Log (using ADS TRACE), that the next command that SHOULD be executed is a OBTAIN OWNER - which SHOULD get the PURCHASE-ORDER (owner of an activity
    junction record). =20
    I am assuming that another program is locking the record (and it seems like this data stays locked for quite a long time - stalls leading to aborts)=20

    They do not have PMRM which I would think would help identify what program might be holding onto the record the stall program is not getting (the example below is from a presentation on dealing with Deadlocks.)=20 Is there some other way to see this data (which programs are holding a
    lock) - be it the Network (IDMSNWKA) or some kind of journal report?=20 =20 From a presentation on Deadlocks: (My apologies to the author for not knowing who wrote it) PMRM - Active User Task Detail PM-R16.0 TECHDC99 Computer Associates Intl. V545 04.112
    CMD--> 02 Active User Task Detail
    Task Task Current Waited_On Dbkey
    Number Code Program Dbkey Holder
    109414 ADS2 DBCRUPD 680037: 13 VL500006
    109887 ADS2 DBCRUPD 680021: 13 VL500035
    109923 ADS2 DBCRUPD 680022: 1 VL500025
    109917 ADS2 DBCRUPD 680039: 13 VL500003
    109797 ADS2 DBCRUPD 680019: 11 VL500018
    109700 ADS2 DBCRUPD
    109827 ADS2 DBCRUPD 680047: 1 VL500024

    The information transmitted is intended only for the person or entity to which it is addressed and may contain CONFIDENTIAL material. If you receive this material/information in error, please contact the sender and delete or destroy the material/information.
    IDMS Public Discussion Forum


    Re: Access to Lock Data Used in PMRM?
    "Forgot to sign....resending...

    Maybe I'm reading this wrong but I don't think that PMRM statistics are necessary to achieve what was desired. I thought the OP wanted to know which program was holding a record. We trap the logs and write reports on what programs are stalling or deadlocking on what records. For example from the CV log:

    DC001000 V9 T12 T:000238126 CPSBP419 P:CPSBP419 C:DEAD WAITING ON R:LTXNLOCK 000A0008 58C48109

    Then you have to break out the codes following the LTXNLOCK as follows:
    000A - page group
    00 - indicates that a dbkey follows
    08 - the dbkey's radix
    58C48109 - is the dbkey in hex

    Then, taking the 58C48109 - you can translate back to binary, then do a generic Find to get the record name. The above assumes that you can determine the subschema name from the program name (which we can). Of course, I am oversimplifying things a bit, but it is doable.

    But, the above should plant the germ of an idea in the OP's mind for an alternative to PMRM if all that is desired is the offending program for deadlocks and stalls. If interested, you may contact me directly at

    Dan Miley
    Lockheed Martin