Article - CS315408

Oracle deadlock when load testing with JMeter in Windchill PDMLink 11.0

Modified: 21-Oct-2019   


Applies To

  • Windchill PDMLink 11.0

Description

  • Oracle deadlock when load testing with JMeter
  • First session query:
SELECT 'wt.shadowLink.ShadowLink' classnameA2A2,A0.idA2A2 FROM ShadowLink A0 WHERE (((idA3A5 = :1 ) AND (idA3B5 = :2 ))) FOR UPDATE
  • First session stack:
"PublisherQueueCREOAQ3.PollingThread" Id=80 prio=5 RUNNABLE (in native)
      Blocked (cnt): 1900; Waited (cnt): 1635
      CPU nanos: 172652704548; User nanos: 159450000000; Bytes allocated: 272475464888
      Method context: 4eihxx7k;k1qmv1wl;42680;98bw3f;135053; DB session: 164
      % of 1 CPU used by context: 3.7154696021089366 (156385017/4209024262); Bytes allocated by context: 341933408
  at java.net.SocketInputStream.socketRead0(Native Method)
  at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)
  at java.net.SocketInputStream.read(SocketInputStream.java:171)
  at java.net.SocketInputStream.read(SocketInputStream.java:141)
  at oracle.net.ns.Packet.receive(Packet.java:311)
  at oracle.net.ns.DataPacket.receive(DataPacket.java:105)
  at oracle.net.ns.NetInputStream.getNextPacket(NetInputStream.java:305)
  at oracle.net.ns.NetInputStream.read(NetInputStream.java:249)
  at oracle.net.ns.NetInputStream.read(NetInputStream.java:171)
  at oracle.net.ns.NetInputStream.read(NetInputStream.java:89)
  at oracle.jdbc.driver.T4CSocketInputStreamWrapper.readNextPacket(T4CSocketInputStreamWrapper.java:123)
  at oracle.jdbc.driver.T4CSocketInputStreamWrapper.read(T4CSocketInputStreamWrapper.java:79)
  at oracle.jdbc.driver.T4CMAREngineStream.unmarshalUB1(T4CMAREngineStream.java:426)
  at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:390)
  at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:249)
  at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:566)
  at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:215)
  at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:58)
  at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:776)
  at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:897)
  at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1034)
  at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3820)
  at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3867)
    - locked oracle.jdbc.driver.T4CConnection@6b461bd1
  at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:1502)
  at wt.pds.AbstractResultCursor.executeQuery(AbstractResultCursor.java:582)
  at wt.pds.AbstractResultCursor.executeQuery(AbstractResultCursor.java:540)
  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:837)
  at wt.pom.PersistentObjectManager.query(PersistentObjectManager.java:1076)
  at wt.fc.StandardPersistenceManager._query(StandardPersistenceManager.java:1977)
  at wt.fc.StandardPersistenceManager.query(StandardPersistenceManager.java:1929)
  at wt.fc.StandardPersistenceManager.query(StandardPersistenceManager.java:1459)
  at wt.fc.batch.BatchSpecificationUtilities.queryTargetKeys(BatchSpecificationUtilities.java:89)
  at wt.fc.StandardPersistenceManager.execute(StandardPersistenceManager.java:1605)
  at wt.shadowLink.ShadowLinkHelper.deleteSecondaryChunk(ShadowLinkHelper.java:679)
  at wt.shadowLink.ShadowLinkHelper.deleteSecondary(ShadowLinkHelper.java:626)
  at wt.shadow.StandardShadowCacheManager.deleteSecondary(StandardShadowCacheManager.java:2212)
  at sun.reflect.GeneratedMethodAccessor477.invoke(Unknown Source)
  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  at java.lang.reflect.Method.invoke(Method.java:498)
  at wt.services.ServiceFactory$ServerInvocationHandler.invoke(ServiceFactory.java:399)
  at com.sun.proxy.$Proxy98.deleteSecondary(Unknown Source)
  at wt.synch.ShadowServiceUtility.deleteSecondary(ShadowServiceUtility.java:196)
  at wt.synch.UwgmChangeTrackerDelegate.processTrackingObjects(UwgmChangeTrackerDelegate.java:90)
  at wt.synch.StandardCacheSynchronizationService$CacheSynchServiceTransactionListener.finishTransaction(StandardCacheSynchronizationService.java:438)
  at wt.pom.TransactionManager$FinishTransactionListener.fire(TransactionManager.java:1566)
  at wt.pom.TransactionManager.fireTransactionListener(TransactionManager.java:1526)
  at wt.pom.TransactionManager.finishTransaction(TransactionManager.java:488)
  at wt.pom.TransactionManager.commitTransaction(TransactionManager.java:436)
  at wt.pom.BasicTransactionMonitor.commitTransaction(BasicTransactionMonitor.java:64)
  at wt.pom.PersistentObjectManager.commitTransaction(PersistentObjectManager.java:404)
  at wt.pom.Transaction.commit(Transaction.java:725)
  at wt.vc.baseline.BaselineOperation.executeTransaction(BaselineOperation.java:102)
  at wt.vc.baseline.BaselineOperation.executeLockingTransaction(BaselineOperation.java:55)
  at wt.vc.baseline.StandardBaselineService.removeFromBaseline(StandardBaselineService.java:698)
  at sun.reflect.GeneratedMethodAccessor476.invoke(Unknown Source)
  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  at java.lang.reflect.Method.invoke(Method.java:498)
  at wt.services.ServiceFactory$ServerInvocationHandler.invoke(ServiceFactory.java:399)
  at com.sun.proxy.$Proxy103.removeFromBaseline(Unknown Source)
  at wt.epm.workspaces.EPMStandardWorkspaceManager.removeFromWorkspace(EPMStandardWorkspaceManager.java:624)
  at sun.reflect.GeneratedMethodAccessor475.invoke(Unknown Source)
  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  at java.lang.reflect.Method.invoke(Method.java:498)
  at wt.services.ServiceFactory$ServerInvocationHandler.invoke(ServiceFactory.java:399)
  at com.sun.proxy.$Proxy93.removeFromWorkspace(Unknown Source)
  at com.ptc.wvs.server.publish.WildfireDownload.removeObjectsFromWorkspace(WildfireDownload.java:1859)
  at com.ptc.wvs.server.publish.WildfireDownload.removeUnassociatedObjectsFromWorkspace(WildfireDownload.java:1767)
  at com.ptc.wvs.server.publish.WildfireDownload.destroyWorkspace(WildfireDownload.java:1718)
  at com.ptc.wvs.server.publish.WildfireDownload.destroyWorkspace(WildfireDownload.java:1567)
  at com.ptc.wvs.server.publish.WindchillAccessibleCadConvert.deleteTempWorkspace(WindchillAccessibleCadConvert.java:827)
  at com.ptc.wvs.server.publish.CadConvertPROE.doComponentConversion(CadConvertPROE.java:639)
  at com.ptc.wvs.server.publish.PublishJob.publishComponent(PublishJob.java:1505)
  at com.ptc.wvs.server.publish.PublishJob.publishObject(PublishJob.java:1323)
  at com.ptc.wvs.server.publish.PublishJob.executePublishJob(PublishJob.java:1113)
  at com.ptc.wvs.server.publish.PublishJob.processJob(PublishJob.java:838)
  at com.ptc.wvs.server.publish.WVSProcessingJob.doMyJob(WVSProcessingJob.java:564)
  at com.ptc.wvs.server.publish.WVSProcessingJob.doJobInternal(WVSProcessingJob.java:525)
  at com.ptc.wvs.server.publish.WVSProcessingJob.doJob(WVSProcessingJob.java:495)
  at sun.reflect.GeneratedMethodAccessor428.invoke(Unknown Source)
  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  at java.lang.reflect.Method.invoke(Method.java:498)
  at wt.queue.QueueEntry.execute(QueueEntry.java:231)
  at wt.queue.ProcessingQueue.execEntry(ProcessingQueue.java:306)
  at wt.queue.ProcessingQueue.execEntries(ProcessingQueue.java:892)
  at wt.queue.PollingQueueThread.run(PollingQueueThread.java:99)
  • 2nd session query:
SELECT A0.idA2A2,A0.updateCountA2 FROM EPMCheckpoint A0 WHERE ((A0.idA2A2 = :1 )) FOR UPDATE
  • 2nd session stack:
"ajp-nio-127.0.0.1-8011-exec-13" Id=1632 daemon prio=5 RUNNABLE (in native)
      Blocked (cnt): 1472; Waited (cnt): 8269
      CPU nanos: 104327307687; User nanos: 97500000000; Bytes allocated: 97490922088
      Servlet request: 4eihxx7k;k1qmxch5;44729;ag2nhz;175470; Method context: 4eihxx7k;k1qmxch5;44729;ag2nhz;175471; DB session: 49
      % of 1 CPU used by request: 5.693742581695625 (305174009/5359813947); Bytes allocated by request: 225394664
  at java.net.SocketInputStream.socketRead0(Native Method)
  at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)
  at java.net.SocketInputStream.read(SocketInputStream.java:171)
  at java.net.SocketInputStream.read(SocketInputStream.java:141)
  at wt.util.WrappedSocket$Input.read(WrappedSocket.java:379)
  at java.io.BufferedInputStream.fill(BufferedInputStream.java:246)
  at java.io.BufferedInputStream.read(BufferedInputStream.java:265)
    - locked java.io.BufferedInputStream@46812b6f
  at java.io.DataInputStream.readByte(DataInputStream.java:265)
  at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:222)
  at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:161)
  at com.sun.jmx.remote.internal.PRef.invoke(Unknown Source)
  at javax.management.remote.rmi.RMIConnectionImpl_Stub.invoke(Unknown Source)
  at javax.management.remote.rmi.RMIConnector$RemoteMBeanServerConnection.invoke(RMIConnector.java:1020)
  at javax.management.MBeanServerInvocationHandler.invoke(MBeanServerInvocationHandler.java:298)
  at com.sun.proxy.$Proxy342.getAttributesFromAllClusterMethodServers(Unknown Source)
  at wt.util.jmx.GetClusterStacks.outputClusterStacks(GetClusterStacks.java:75)
  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  at java.lang.reflect.Method.invoke(Method.java:498)
  at wt.pds.SQLDatabasePds.handleSQLException(SQLDatabasePds.java:1222)
  at wt.pds.SQLDatabasePds.handleException(SQLDatabasePds.java:1016)
  at wt.pds.SQLDatabasePds.query(SQLDatabasePds.java:874)
  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.fc.collections.RefreshHelper$LockRefresh.doFirstPass(RefreshHelper.java:1285)
  at wt.fc.collections.RefreshHelper$Refresh.refresh(RefreshHelper.java:589)
  at wt.fc.collections.RefreshHelper$LockRefresh.refresh(RefreshHelper.java:1228)
  at wt.fc.collections.RefreshHelper.refresh(RefreshHelper.java:146)
  at wt.fc.collections.StandardCollectionsManager.refresh(StandardCollectionsManager.java:80)
  at sun.reflect.GeneratedMethodAccessor229.invoke(Unknown Source)
  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  at java.lang.reflect.Method.invoke(Method.java:498)
  at wt.services.ServiceFactory$ServerInvocationHandler.invoke(ServiceFactory.java:399)
  at com.sun.proxy.$Proxy54.refresh(Unknown Source)
  at wt.fc.StandardPersistenceManager.validateCollection(StandardPersistenceManager.java:3288)
  at wt.fc.StandardPersistenceManager.update(StandardPersistenceManager.java:1842)
  at wt.fc.StandardPersistenceManager.update(StandardPersistenceManager.java:1941)
  at wt.fc.StandardPersistenceManager.update(StandardPersistenceManager.java:1729)
  at wt.vc.baseline.StandardBaselineService$PostDeleteListener.finishTransaction(StandardBaselineService.java:232)
  at wt.pom.TransactionManager$FinishTransactionListener.fire(TransactionManager.java:1566)
  at wt.pom.TransactionManager.fireTransactionListener(TransactionManager.java:1526)
  at wt.pom.TransactionManager.finishTransaction(TransactionManager.java:488)
  at wt.pom.TransactionManager.commitTransaction(TransactionManager.java:436)
  at wt.pom.BasicTransactionMonitor.commitTransaction(BasicTransactionMonitor.java:64)
  at wt.pom.PersistentObjectManager.commitTransaction(PersistentObjectManager.java:404)
  at wt.pom.Transaction.commit(Transaction.java:725)
  at wt.dataops.delete.DeleteTask._run(DeleteTask.java:293)
  at com.ptc.core.task.AtomicTask.run(AtomicTask.java:58)
  at com.ptc.core.task.Task.execute(Task.java:262)
  at com.ptc.core.task.StandardTaskManager.runTask(StandardTaskManager.java:183)

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