Article - CS71435

Table QueueLock rows may be locked for a long time in Windchill

Modified: 20-May-2025   


Applies To

  • Windchill PDMLink 10.0 to 12.1
  • FlexPLM 10.1 to 12.0
  • Windchill PDMLink 10.0 to 13.0

Description

  • Rows may be locked for a long time in the QueueLock table in Windchill
  • enq: TX - row lock contention wait event is high in Oracle
  • AWR report indicates row lock on QueueLock table
  • Oracle: Below SQL statement (SQL_ID g5f60f34546c8) can be seen in the database diagnostics report's Worst SQL by Elapsed Time (SqlByElapsedTime.html):
SELECT idA2A2 FROM QueueLock WHERE idA2A2=:1 FOR UPDATE
  • SQL Server: the SQL will be as below:
SELECT idA2A2 FROM QueueLock WITH (ROWLOCK, UPDLOCK ) WHERE idA2A2=@P0
  • What if the QueueLock is not acquired?
  • A symptom of this can include stack traces with rollbacks in the Method Server logs, for example: 
    wt.queue.ProcessingQueue.PublisherQueue1  - Unexpected error com.microsoft.sqlserver.jdbc.SQLServerException: Connection reset by peer: socket write error 
    	at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:2979)
    	at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectionCommand(SQLServerConnection.java:3024)
    	at com.microsoft.sqlserver.jdbc.SQLServerConnection.rollback(SQLServerConnection.java:3201)
    	at wt.log4j.jmx.ConnectionWrapper.rollback(ConnectionWrapper.java:100) 
    	at wt.queue.WtQueueThread$AttainQueueLockRunner.run(WtQueueThread.java:586) 

This is a printer-friendly version of Article 71435 and may be out of date. For the latest version click CS71435