Article - CS331829
Slow to delete WTPart with Date Effectivity in Windchill PDMLink
Modified: 09-Mar-2022
Applies To
- Windchill PDMLink 11.0 to 12.0
Description
- Performance issue to delete a part
- SQL below takes 40 seconds to execute every time
SELECT 'wt.effectivity.WTDatedEffectivity',A0.administrativeLockIsNull,A0.typeadministrativeLock,A0.classnamekeycreationReferenc,A0.idA3creationReference,A0.classnamekeydeletionReferenc,A0.idA3deletionReference,A0.classnamekeyeffContextRefere,A0.idA3effContextReference,A0.effTypeModifier,TO_CHAR(A0.endrange,'dd mm yyyy hh24:mi:ss'),TO_CHAR(A0.startrange,'dd mm yyyy hh24:mi:ss'),A0.classnamekeystandardTargetRe,A0.idA3standardTargetReference,A0.branchIdA3targetReference,A0.classnamekeytargetReference,TO_CHAR(A0.createStampA2,'dd mm yyyy hh24:mi:ss'),A0.markForDeleteA2,TO_CHAR(A0.modifyStampA2,'dd mm yyyy hh24:mi:ss'),A0.idA2A2,A0.updateCountA2,TO_CHAR(A0.updateStampA2,'dd mm yyyy hh24:mi:ss') FROM WTDatedEffectivity A0 WHERE ((A0.idA3effContextReference = :1 ))
- Stack trace for above query:
"ajp-nio-127.0.0.1-8010-exec-237" Id=312176 RUNNABLE (in native) Blocked (cnt): 8113; Waited (cnt): 20694 at sun.nio.ch.FileDispatcherImpl.read0(Native Method) at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:39) at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) at sun.nio.ch.IOUtil.read(IOUtil.java:197) at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:380) at oracle.net.nt.TimeoutSocketChannel.read(TimeoutSocketChannel.java:178) at oracle.net.ns.NSProtocolNIO.doSocketRead(NSProtocolNIO.java:544) at oracle.net.ns.NIOPacket.readHeader(NIOPacket.java:234) at oracle.net.ns.NIOPacket.readPacketFromSocketChannel(NIOPacket.java:174) at oracle.net.ns.NIOPacket.readFromSocketChannel(NIOPacket.java:122) at oracle.net.ns.NIOPacket.readFromSocketChannel(NIOPacket.java:100) at oracle.net.ns.NIONSDataChannel.readDataFromSocketChannel(NIONSDataChannel.java:86) at oracle.jdbc.driver.T4CMAREngineNIO.prepareForUnmarshall(T4CMAREngineNIO.java:762) at oracle.jdbc.driver.T4CMAREngineNIO.unmarshalUB1(T4CMAREngineNIO.java:427) at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:394) at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:255) at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:610) at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:253) at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:86) at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:765) at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:921) at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1099) at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3640) at oracle.jdbc.driver.T4CPreparedStatement.executeInternal(T4CPreparedStatement.java:1384) at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3687) at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:1165) at wt.pds.AbstractResultCursor.executeQuery(AbstractResultCursor.java:582) at wt.pds.AbstractResultCursor.executeQuery(AbstractResultCursor.java:540) at wt.pds.BasicResultCursor.getNextResultSet(BasicResultCursor.java:385) at wt.pds.BasicResultCursor.advance(BasicResultCursor.java:337) at wt.pds.BasicResultCursor.next(BasicResultCursor.java:132) at wt.pds.SQLDatabasePds.query(SQLDatabasePds.java:810) at wt.pom.PersistentObjectManager.query(PersistentObjectManager.java:1076) at wt.pom.PersistentObjectManager.query(PersistentObjectManager.java:985) at wt.fc.StandardPersistenceManager._query(StandardPersistenceManager.java:1972) at wt.fc.StandardPersistenceManager.query(StandardPersistenceManager.java:1465) at wt.fc.StandardPersistenceManager.query(StandardPersistenceManager.java:1123) at wt.eff.StandardEffService.expandFKs(StandardEffService.java:1807) at wt.eff.StandardEffService.checkIfEffFormExistForEffContext(StandardEffService.java:1599) at wt.eff.StandardEffService.access$200(StandardEffService.java:195) at wt.eff.StandardEffService$1.notifyVetoableMultiObjectEvent(StandardEffService.java:1417) at wt.events.StandardKeyedEventBranch.intDispatchEvent(StandardKeyedEventBranch.java:306) at wt.events.StandardKeyedEventBranch.dispatchVetoableMultiObjectEvent(StandardKeyedEventBranch.java:268) at wt.events.StandardKeyedEventDispatcher.intDispatchEvent(StandardKeyedEventDispatcher.java:306) at wt.events.StandardKeyedEventDispatcher.dispatchVetoableMultiObjectEvent(StandardKeyedEventDispatcher.java:244) at wt.services.StandardManagerService.intDispatchVetoableEvent(StandardManagerService.java:412) at wt.services.StandardManagerService.dispatchVetoableMultiObjectEvent(StandardManagerService.java:314) at wt.fc.StandardPersistenceManager.dispatchVetoableEvent(StandardPersistenceManager.java:2976) at wt.fc.StandardPersistenceManager.dispatchVetoableEvent(StandardPersistenceManager.java:2959) at wt.fc.StandardPersistenceManager.remove(StandardPersistenceManager.java:2266) at wt.fc.StandardPersistenceManager.remove(StandardPersistenceManager.java:1764) at wt.fc.StandardPersistenceManager.delete(StandardPersistenceManager.java:851)
This is a printer-friendly version of Article 331829 and may be out of date. For the latest version click CS331829