/
Jira logs show error messages about Automation for Jira plugin after upgrading TTS to 9.8.0+
Jira logs show error messages about Automation for Jira plugin after upgrading TTS to 9.8.0+
This page is about Time to SLA for Jira On-Prem.
Problem
After Time to SLA is upgraded to version 9.8.0+, there are some error messages in the logs.
2020-10-29 09:21:29,179 https-jsse-nio-443-exec-20 ERROR admin 561x387871x1 admin 192.192.192.192 /plugins/servlet/streams [c.a.plugin.module.PrefixDelegatingModuleFactory] Detected an error (NoClassDefFoundError) instantiating the module for plugin 'plugin.tts' for module 'tts-sla-threshold-breached': com/codebarrel/automation/api/thirdparty/EventTriggerRuleComponent. This error is usually caused by your plugin using a imported component class that itself relies on other packages in the product. You can probably fix this by adding the missing class's package to your <Import-Package> instructions; for more details on how to fix this, see https://developer.atlassian.com/display/DOCS/NoClassDefFoundError .
Caused by: java.lang.ClassNotFoundException: com.codebarrel.automation.api.thirdparty.EventTriggerRuleComponent not found by com.tuncaysenturk.jira.plugins.time-to-sla-plugin [231]
2020-10-29 09:21:29,179 https-jsse-nio-443-exec-20 ERROR admin 561x387871x1 admin 192.192.192.192 /plugins/servlet/streams [c.a.event.internal.AsynchronousAbleEventDispatcher] There was an exception thrown trying to dispatch event [RequestMetricsEvent{url=/plugins/servlet//streams, key=Optional.empty, requestCorrelationId=Optional[6ac364bc407411], reqTime=696, requestUserTime=0, requestCpuTime=0, requestGCDuration=0, requestGCCount=0, checkpointReachTime=[CheckpointTiming
{checkpointName=beforeSecurityFilter, checkpointTime=PT0.0004919S}
, CheckpointTiming
{checkpointName=jiraSecurityFilter, checkpointTime=PT0.0005968S}
, CheckpointTiming
{checkpointName=preProcessingFilterChainFinished, checkpointTime=PT0.0010227S}
, CheckpointTiming
{checkpointName=postProcessingFilterChainStarts, checkpointTime=PT0.6960505S}
, CheckpointTiming
{checkpointName=serverRenderEnd, checkpointTime=PT0.6961436S}
], activityTimings=[]}] from the invoker [SingleParameterMethodListenerInvoker
{method=public void com.codebarrel.jira.plugin.automation.event.JiraIssueEventListenerImpl.handleAllOtherEvents(java.lang.Object), listener=com.codebarrel.jira.plugin.automation.event.JiraIssueEventListenerImpl@14f622aa}
]
java.lang.RuntimeException: com/codebarrel/automation/api/thirdparty/EventTriggerRuleComponent. Listener: com.codebarrel.jira.plugin.automation.event.JiraIssueEventListenerImpl event: com.atlassian.jira.servermetrics.RequestMetricsEvent
at com.atlassian.event.internal.SingleParameterMethodListenerInvoker.invoke(SingleParameterMethodListenerInvoker.java:55)
at com.atlassian.event.internal.AsynchronousAbleEventDispatcher$1$1.run(AsynchronousAbleEventDispatcher.java:38)
at com.google.common.util.concurrent.MoreExecutors$DirectExecutorService.execute(MoreExecutors.java:299)
at com.atlassian.event.internal.AsynchronousAbleEventDispatcher.dispatch(AsynchronousAbleEventDispatcher.java:88)
at com.atlassian.event.internal.EventPublisherImpl.invokeListeners(EventPublisherImpl.java:204)
at com.atlassian.event.internal.EventPublisherImpl.publish(EventPublisherImpl.java:115)
at java.util.Optional.ifPresent(Optional.java:159)
at com.atlassian.jira.servermetrics.RequestMetricsDispatcher.stopCollection(RequestMetricsDispatcher.java:77)
at com.atlassian.jira.servermetrics.RequestMetricsDispatcher$CollectorHandle.close(RequestMetricsDispatcher.java:116)
at com.atlassian.jira.servermetrics.MetricsCollectorFilter.doFilter(MetricsCollectorFilter.java:26)
... 24 filtered
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NoClassDefFoundError: com/codebarrel/automation/api/thirdparty/EventTriggerRuleComponent
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.findClass(BundleWiringImpl.java:2279)
at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1501)
at org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:75)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at org.apache.felix.framework.Felix.loadBundleClass(Felix.java:1844)
at org.apache.felix.framework.BundleImpl.loadClass(BundleImpl.java:937)
at com.atlassian.plugin.osgi.util.BundleClassLoaderAccessor.loadClass(BundleClassLoaderAccessor.java:45)
at com.atlassian.plugin.osgi.factory.OsgiPluginInstalledHelper.loadClass(OsgiPluginInstalledHelper.java:56)
at com.atlassian.plugin.osgi.factory.OsgiPlugin.loadClass(OsgiPlugin.java:207)
at com.atlassian.plugin.module.ClassPrefixModuleFactory.getModuleClass(ClassPrefixModuleFactory.java:44)
at com.atlassian.plugin.module.ClassPrefixModuleFactory.createModule(ClassPrefixModuleFactory.java:27)
at com.atlassian.plugin.module.PrefixDelegatingModuleFactory.createModule(PrefixDelegatingModuleFactory.java:88)
... 2 filtered
at java.lang.reflect.Method.invoke(Method.java:498)
at com.atlassian.plugin.util.ContextClassLoaderSettingInvocationHandler.invoke(ContextClassLoaderSettingInvocationHandler.java:26)
at com.sun.proxy.$Proxy362.createModule(Unknown Source)
... 2 filtered
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:302)
at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceInvoker.doInvoke(ServiceInvoker.java:56)
at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceInvoker.invoke(ServiceInvoker.java:60)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:133)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:121)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.eclipse.gemini.blueprint.service.util.internal.aop.ServiceTCCLInterceptor.invokeUnprivileged(ServiceTCCLInterceptor.java:70)
at org.eclipse.gemini.blueprint.service.util.internal.aop.ServiceTCCLInterceptor.invoke(ServiceTCCLInterceptor.java:53)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.eclipse.gemini.blueprint.service.importer.support.LocalBundleContextAdvice.invoke(LocalBundleContextAdvice.java:57)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:133)
at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:121)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:208)
at com.sun.proxy.$Proxy3127.createModule(Unknown Source)
at com.codebarrel.jira.plugin.automation.thirdparty.ThirdPartyComponentModuleDescriptor.getModule(ThirdPartyComponentModuleDescriptor.java:51)
at com.codebarrel.jira.plugin.automation.thirdparty.ThirdPartyComponentModuleTracker.getHandledEventClasses(ThirdPartyComponentModuleTracker.java:50)
at com.codebarrel.jira.plugin.automation.thirdparty.ThirdPartyComponentModuleTracker.lambda$getThirdPartyTriggers$0(ThirdPartyComponentModuleTracker.java:45)
at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:174)
at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1374)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)
at com.codebarrel.jira.plugin.automation.thirdparty.ThirdPartyComponentModuleTracker.getThirdPartyTriggers(ThirdPartyComponentModuleTracker.java:46)
at com.codebarrel.jira.plugin.automation.event.DefaultEventRuleRegistry.handleEventWithThirdPartyTriggers(DefaultEventRuleRegistry.java:344)
at com.codebarrel.jira.plugin.automation.event.JiraIssueEventListenerImpl.handleAllOtherEvents(JiraIssueEventListenerImpl.java:151)
... 2 filtered
at java.lang.reflect.Method.invoke(Method.java:498)
at com.atlassian.event.internal.SingleParameterMethodListenerInvoker.invoke(SingleParameterMethodListenerInvoker.java:40)
... 37 more
Caused by: java.lang.ClassNotFoundException: com.codebarrel.automation.api.thirdparty.EventTriggerRuleComponent not found by com.tuncaysenturk.jira.plugins.time-to-sla-plugin [231]
at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1532)
at org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:75)
at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1955)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 94 more
Reason
We have recently introduced Time to SLA - Automation integration to enhance the SLA configurations with features from widely used plugins. However, there are some limitations due to Atlassian cross-platform integrations, and this can cause some issues that can be remedied.