My Oracle Support Banner

Slow performance when processing scheduled activities due to SchedulingHelper.listScheduled method (Doc ID 2128822.1)

Last updated on FEBRUARY 03, 2019

Applies to:

Oracle Business Process Management Suite - Version 11.1.1.7.0 and later
Information in this document applies to any platform.

Symptoms

If many timer events expire at the same time the performance of the server slows down and CPU utilization can approach 100%. In the thread dumps you'll notice the following stack trace occurring across many threads:


 

"orabpel.engine.pool-11.thread-1" id=268 idx=0x118 tid=3436 prio=5 alive, blocked, native_blocked
  -- Blocked trying to get lock: weblogic/utils/classloaders/ChangeAwareClassLoader@0x00000001CAB7C6B8[unlocked]
  at jrockit/vm/Threads.waitForUnblockSignal()V(Native Method)
  at jrockit/vm/Locks.fatLockBlockOrSpin(Locks.java:1411)
  at jrockit/vm/Locks.lockFat(Locks.java:1512)
  at jrockit/vm/Locks.monitorEnterSecondStageHard(Locks.java:1054)
  at jrockit/vm/Locks.monitorEnterSecondStage(Locks.java:1005)
  at jrockit/vm/Locks.monitorEnter(Locks.java:2179)
  at java/lang/ClassLoader.loadClass(ClassLoader.java:291)
  at java/lang/ClassLoader.loadClass(ClassLoader.java:247)
  at weblogic/utils/classloaders/GenericClassLoader.loadClass(GenericClassLoader.java:179)
  at weblogic/utils/classloaders/ChangeAwareClassLoader.loadClass(ChangeAwareClassLoader.java:43)
  at org/springframework/scheduling/quartz/ResourceLoaderClassLoadHelper.loadClass(ResourceLoaderClassLoadHelper.java:75)
  at org/quartz/impl/jdbcjobstore/StdJDBCDelegate.selectJobDetail(StdJDBCDelegate.java:897)
  at org/quartz/impl/jdbcjobstore/JobStoreSupport.retrieveJob(JobStoreSupport.java:1380)
  at org/quartz/impl/jdbcjobstore/JobStoreSupport$7.execute(JobStoreSupport.java:1372)
  at oracle/integration/platform/blocks/scheduler/FabricJobStoreCMT.executeInLock(FabricJobStoreCMT.java:449)
  at org/quartz/impl/jdbcjobstore/JobStoreSupport.executeWithoutLock(JobStoreSupport.java:3665)
  at org/quartz/impl/jdbcjobstore/JobStoreSupport.retrieveJob(JobStoreSupport.java:1369)
  at org/quartz/core/QuartzScheduler.getJobDetail(QuartzScheduler.java:1318)
  at org/quartz/impl/StdScheduler.getJobDetail(StdScheduler.java:561)
  at sun/reflect/GeneratedMethodAccessor2734.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;(Unknown Source)
  at sun/reflect/DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  at java/lang/reflect/Method.invoke(Method.java:597)
  at org/springframework/aop/support/AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
  at org/springframework/aop/framework/ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
  at org/springframework/aop/framework/ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
  at org/springframework/transaction/interceptor/TransactionInterceptor.invoke(TransactionInterceptor.java:106)
  at org/springframework/aop/framework/ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
  at org/springframework/aop/framework/JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
  at com/sun/proxy/$Proxy380.getJobDetail(Ljava/lang/String;Ljava/lang/String;)Lorg/quartz/JobDetail;(Unknown Source)
  at oracle/integration/platform/blocks/scheduler/QrtzSchedulerServiceImpl.listScheduledJobs(QrtzSchedulerServiceImpl.java:104)
  at oracle/bpm/bpmn/engine/model/runtime/util/SchedulingHelper.listScheduled(SchedulingHelper.java:143)
  at oracle/bpm/bpmn/engine/model/runtime/util/SchedulingHelper.printScheduled(SchedulingHelper.java:158)
  at oracle/bpm/bpmn/engine/model/runtime/util/SchedulingHelper.unschedule(SchedulingHelper.java:120)
  at oracle/bpm/bpmn/engine/model/runtime/microinstructions/MITimerEventDefineExpirationDate.unschedule(MITimerEventDefineExpirationDate.java:89)
  at oracle/bpm/bpmn/engine/map/builder/visitors/impl/compilers/TimerEventExpireGenerator$DoUnschedule.doExecute(TimerEventExpireGenerator.java:121)
  at oracle/bpm/bpmn/engine/microkernel/MIBase.execute(MIBase.java:34)


You may also see other threads like this:

"orabpel.engine.pool-11.thread-17" RUNNABLE
java.util.Properties.loadConvert(Properties.java:533)
java.util.Properties.load0(Properties.java:390)
java.util.Properties.load(Properties.java:341)
org.quartz.impl.jdbcjobstore.StdJDBCDelegate.getMapFromProperties(StdJDBCDelegate.java:935)
org.quartz.impl.jdbcjobstore.StdJDBCDelegate.selectJobDetail(StdJDBCDelegate.java:905)
org.quartz.impl.jdbcjobstore.JobStoreSupport.retrieveJob(JobStoreSupport.java:1380)
org.quartz.impl.jdbcjobstore.JobStoreSupport$7.execute(JobStoreSupport.java:1372)
oracle.integration.platform.blocks.scheduler.FabricJobStoreCMT.executeInLock(FabricJobStoreCMT.java:449)
org.quartz.impl.jdbcjobstore.JobStoreSupport.executeWithoutLock(JobStoreSupport.java:3665

 

Cause

To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!


In this Document
Symptoms
Cause
Solution
References


My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.