cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

Is it possible for PSM/dynaTrace to track the PurePath related to the DB lock for the table QUEUELOCK?

Is it possible for PSM/dynaTrace to track the PurePath related to the DB lock for the table QUEUELOCK?

As of Windchill 10.0, Windchill introduced the mechanism to process the High Availability Queue Processing. This results in another behavior that rows may be locked for a long time in the QueueLock table.

But is it possible for PSM/dynaTrace to track the PurePath which is related to that DB lock? For example, we need to check which queue or queue entry triggers the DB lock.


It could get more details about the behavior from the following article:

https://support.ptc.com/appserver/cs/view/solution.jsp?n=CS71435

TitleRows may be locked for a long time in the QueueLock table in Windchill PDMLink
Description
  • Rows may be locked for a long time in the QueueLock table in Windchill
  • The following SQL statement can be seen from the Oracle Console:
SELECT idA2A2 FROM QueueLock WHERE idA2A2=:1 FOR UPDATE
Applies To
  • Windchill PDMLink 10.0 to 10.2
  • Windchill ProjectLink 10.0 to 10.2
  • Pro/INTRALINK 8.x + 10.0 to 10.2
  • Windchill PDM Essentials 10.0 to 10.2
  • Arbortext Content Manager 10.0 to 10.2
Cause
Resolution
  • The lock is expected to achieve High Availability Queue Processing since Windchill 10.x
    • Row Locking is used on the table QueueLock to ensure only one Method Server execute the queue entries of a specific queue at a time
    • Then can configure more than one Method Server handling the same queue group to achieve High Availability
  • Refer to section "High Availability Queue Processing" in chapter 7, "Queue Management", of the "Windchill Specialized Administration Guide"
1 Comment

If we know the ida2a2 value in the query, SELECT idA2A2 FROM QueueLock WHERE idA2A2=:1 FOR UPDATE,  then we can know which queue is triggering the lock. ida3a5 value in processing queue and schedule queues contains ida2a2 value of queuelock table. From this, we can know which queue is locking.