Article - CS157973
Slow Performing StringValue Query during "Add to Workspace" Operation in Windchill PDMLink
Modified: 01-Feb-2023
Applies To
- Creo Parametric 1.0 to 5.0
- Windchill PDMLink 8.0 to 12.1
- Microsoft SQL Server
- Oracle Database 12c and above
Description
- Oracle
- Adding objects to workspace from CREO is slow
- SQL Server
- Unable to add objects to workspace from CREO
- "Add to Workspace" operation hangs
- Tempdb in MS SQL Server increases tremendously filling the partition up to its maximum size
- MS SQL Server hangs due to full Tempdb
- Poorly performing SQL:
SELECT 'wt.iba.value.StringValue',A0.classnamekeyA5,A0.idA3A5,A0.hierarchyIDA6,A0.classnamekeyA6,A0.idA3A6,A0.classnamekeyA4,A0.idA3A4,CONVERT(varchar,A0.createStampA2,120),A0.markForDeleteA2,CONVERT(varchar,A0.modifyStampA2,120),A0.idA2A2,A0.updateCountA2,CONVERT(varchar,A0.updateStampA2,120),A0.value,A0.value2,A0.idA3A6 r
FROM StringValue A0
WHERE ((((A0.idA3A6 IN (?,?,?,?,?))
AND (A0.idA3A4 IN (SELECT item FROM #wtarray2899313225)))))
SELECT'wt.iba.value.StringValue',A0.classnamekeyA5,A0.idA3A5,A0.hierarchyIDA6,A0.classnamekeyA6,A0.idA3A6,A0.classnamekeyA4,A0.idA3A4,CONVERT(varchar,A0.createStampA2,120),A0.markForDeleteA2,CONVERT(varchar,A0.modifyStampA2,120),A0.idA2A2,A0.updateCountA2,CONVERT(varchar,A0.updateStampA2,120),A0.value,A0.value2,A0.idA3A6 r
FROM StringValue A0
WHERE ((((A0.idA3A6 IN(@P0,@P1,@P2,@P3,@P4))
AND (A0.idA3A4 IN (SELECT item FROM #wtarray_NUMBER_0_200)))))
SELECT 'wt.iba.value.StringValue',A0.classnamekeyA5,A0.idA3A5,A0.hierarchyIDA6,A0.classnamekeyA6,A0.idA3A6,A0.classnamekeyA4,A0.idA3A4,CONVERT(varchar,A0.createStampA2,120),A0.markForDeleteA2,CONVERT(varchar,A0.modifyStampA2,120),A0.idA2A2,A0.updateCountA2,CONVERT(varchar,A0.updateStampA2,120),A0.value,A0.value2,A0.idA3A6 r
FROM StringValue A0
WHERE ((((A0.idA3A6 IN (@P0,@P1,@P2,@P3,@P4,@P5,@P6,@P7,@P8,@P9))
AND (A0.idA3A4 IN (SELECT item FROM #wtarray_NUMBER_0_1000)))))
- Stack trace shows the query comes from wt.epm.download.cache.familytable.AttributeValueCacheHandler.init() method:
"ajp-bio-8010-exec-19" Id=2127 RUNNABLE (in native)
Blocked (cnt): 1862; Waited (cnt): 464
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:152)
at java.net.SocketInputStream.read(SocketInputStream.java:122)
at com.microsoft.sqlserver.jdbc.TDSChannel.read(IOBuffer.java:1782)
at com.microsoft.sqlserver.jdbc.TDSReader.readPacket(IOBuffer.java:4838)
at com.microsoft.sqlserver.jdbc.TDSCommand.startResponse(IOBuffer.java:6150)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.doExecutePreparedStatement(SQLServerPreparedStatement.java:402)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement$PrepStmtExecCmd.doExecute(SQLServerPreparedStatement.java:350)
at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:5696)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1715)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(SQLServerStatement.java:180)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(SQLServerStatement.java:155)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.executeQuery(SQLServerPreparedStatement.java:285)
at wt.pds.AbstractResultCursor.executeQuery(AbstractResultCursor.java:559)
at wt.pds.AbstractResultCursor.executeQuery(AbstractResultCursor.java:523)
at wt.pds.BasicResultCursor.getNextResultSet(BasicResultCursor.java:282)
at wt.pds.BasicResultCursor.advance(BasicResultCursor.java:234)
at wt.pds.BasicResultCursor.next(BasicResultCursor.java:82)
at wt.pds.SQLDatabasePds.query(SQLDatabasePds.java:853)
at wt.pom.PersistentObjectManager.query(PersistentObjectManager.java:1111)
at wt.fc.StandardPersistenceManager._query(StandardPersistenceManager.java:1983)
at wt.fc.StandardPersistenceManager._find(StandardPersis
This is a printer-friendly version of Article 157973 and may be out of date. For the latest version click CS157973