BaseLogger.logWarn - Exception while parsing retry intervals '5'

Hello,

I am using the Camunda engine with C# micro services and rest api.
I downloaded the camunda engine + tomcat version and using it as is ( with few minor changes ).

I am having the following problem and i am not so sure what is causing it,

 31-Jan-2018 15:20:40.269 WARNING [http-nio-8080-exec-1] org.camunda.commons.logging.BaseLogger.logWarn ENGINE-09029 Exception while parsing retry intervals '5'
 java.lang.ArrayIndexOutOfBoundsException: 1
        at java.util.Arrays$ArrayList.get(Unknown Source)
        at org.camunda.bpm.engine.impl.calendar.DurationHelper.<init>(DurationHelper.java:71)
        at org.camunda.bpm.engine.impl.util.ParseUtil.parseRetryIntervals(ParseUtil.java:74)
        at org.camunda.bpm.engine.impl.bpmn.parser.DefaultFailedJobParseListener.setFailedJobRetryTimeCycleValue(DefaultFailedJobParseListener.java:173)
        at org.camunda.bpm.engine.impl.bpmn.parser.DefaultFailedJobParseListener.parseActivity(DefaultFailedJobParseListener.java:148)
        at org.camunda.bpm.engine.impl.bpmn.parser.DefaultFailedJobParseListener.parseServiceTask(DefaultFailedJobParseListener.java:85)
        at org.camunda.bpm.engine.impl.bpmn.parser.BpmnParse.parseServiceTaskLike(BpmnParse.java:2105)
        at org.camunda.bpm.engine.impl.bpmn.parser.BpmnParse.parseServiceTask(BpmnParse.java:2060)
        at org.camunda.bpm.engine.impl.bpmn.parser.BpmnParse.parseActivity(BpmnParse.java:1242)
        at org.camunda.bpm.engine.impl.bpmn.parser.BpmnParse.parseActivities(BpmnParse.java:1219)
        at org.camunda.bpm.engine.impl.bpmn.parser.BpmnParse.parseScope(BpmnParse.java:633)
        at org.camunda.bpm.engine.impl.bpmn.parser.BpmnParse.parseProcess(BpmnParse.java:551)
        at org.camunda.bpm.engine.impl.bpmn.parser.BpmnParse.parseProcessDefinitions(BpmnParse.java:480)
        at org.camunda.bpm.engine.impl.bpmn.parser.BpmnParse.parseRootElement(BpmnParse.java:284)
        at org.camunda.bpm.engine.impl.bpmn.parser.BpmnParse.execute(BpmnParse.java:249)
        at org.camunda.bpm.engine.impl.bpmn.deployer.BpmnDeployer.transformDefinitions(BpmnDeployer.java:101)
        at org.camunda.bpm.engine.impl.AbstractDefinitionDeployer.transformResource(AbstractDefinitionDeployer.java:96)
        at org.camunda.bpm.engine.impl.AbstractDefinitionDeployer.parseDefinitionResources(AbstractDefinitionDeployer.java:71)
        at org.camunda.bpm.engine.impl.AbstractDefinitionDeployer.deploy(AbstractDefinitionDeployer.java:61)
        at org.camunda.bpm.engine.impl.persistence.deploy.cache.CacheDeployer$2.call(CacheDeployer.java:62)
        at org.camunda.bpm.engine.impl.persistence.deploy.cache.CacheDeployer$2.call(CacheDeployer.java:59)
        at org.camunda.bpm.engine.impl.interceptor.CommandContext.runWithoutAuthorization(CommandContext.java:473)
        at org.camunda.bpm.engine.impl.persistence.deploy.cache.CacheDeployer.deployOnlyGivenResourcesOfDeployment(CacheDeployer.java:59)
        at org.camunda.bpm.engine.impl.persistence.deploy.cache.ResourceDefinitionCache.resolveDefinition(ResourceDefinitionCache.java:103)
        at org.camunda.bpm.engine.impl.persistence.deploy.cache.DeploymentCache.resolveProcessDefinition(DeploymentCache.java:101)
        at org.camunda.bpm.engine.impl.persistence.entity.ProcessDefinitionEntity.loadProcessDefinition(ProcessDefinitionEntity.java:246)
        at org.camunda.bpm.engine.impl.persistence.entity.ProcessDefinitionEntity.getPreviousDefinition(ProcessDefinitionEntity.java:216)
        at org.camunda.bpm.engine.impl.persistence.entity.ProcessDefinitionEntity.getPreviousDefinition(ProcessDefinitionEntity.java:46)
        at org.camunda.bpm.engine.impl.context.ProcessApplicationContextUtil.getTargetProcessApplication(ProcessApplicationContextUtil.java:83)
        at org.camunda.bpm.engine.impl.context.ProcessApplicationContextUtil.getTargetProcessApplication(ProcessApplicationContextUtil.java:33)
        at org.camunda.bpm.engine.impl.interceptor.CommandInvocationContext.getTargetProcessApplication(CommandInvocationContext.java:140)
        at org.camunda.bpm.engine.impl.interceptor.CommandInvocationContext.performNext(CommandInvocationContext.java:90)
        at org.camunda.bpm.engine.impl.interceptor.CommandInvocationContext.performOperation(CommandInvocationContext.java:79)
        at org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:618)
        at org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:594)
        at org.camunda.bpm.engine.impl.pvm.runtime.PvmExecutionImpl.deleteCascade(PvmExecutionImpl.java:560)
        at org.camunda.bpm.engine.impl.persistence.entity.ExecutionManager.deleteProcessInstance(ExecutionManager.java:87)
        at org.camunda.bpm.engine.impl.cmd.AbstractDeleteProcessInstanceCmd.deleteProcessInstance(AbstractDeleteProcessInstanceCmd.java:77)
        at org.camunda.bpm.engine.impl.cmd.DeleteProcessInstanceCmd.execute(DeleteProcessInstanceCmd.java:43)
        at org.camunda.bpm.engine.impl.cmd.DeleteProcessInstanceCmd.execute(DeleteProcessInstanceCmd.java:24)
        at org.camunda.bpm.engine.impl.interceptor.CommandExecutorImpl.execute(CommandExecutorImpl.java:24)
        at org.camunda.bpm.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:104)
        at org.camunda.bpm.engine.impl.interceptor.ProcessApplicationContextInterceptor.execute(ProcessApplicationContextInterceptor.java:66)
        at org.camunda.bpm.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:30)
        at org.camunda.bpm.engine.impl.RuntimeServiceImpl.deleteProcessInstance(RuntimeServiceImpl.java:214)
        at org.camunda.bpm.engine.rest.sub.runtime.impl.ProcessInstanceResourceImpl.deleteProcessInstance(ProcessInstanceResourceImpl.java:63)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:167)
        at org.jboss.resteasy.core.ResourceMethod.invokeOnTarget(ResourceMethod.java:257)
        at org.jboss.resteasy.core.ResourceMethod.invoke(ResourceMethod.java:222)
        at org.jboss.resteasy.core.ResourceLocator.invokeOnTargetObject(ResourceLocator.java:159)
        at org.jboss.resteasy.core.ResourceLocator.invoke(ResourceLocator.java:107)
        at org.jboss.resteasy.core.ResourceLocator.invokeOnTargetObject(ResourceLocator.java:154)
        at org.jboss.resteasy.core.ResourceLocator.invoke(ResourceLocator.java:92)
        at org.jboss.resteasy.core.SynchronousDispatcher.getResponse(SynchronousDispatcher.java:542)
        at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:524)
        at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:126)
        at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:208)
        at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:55)
        at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:50)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
        at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
        at org.camunda.bpm.engine.rest.filter.CacheControlFilter.doFilter(CacheControlFilter.java:41)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
        at org.camunda.bpm.engine.rest.filter.EmptyBodyFilter.doFilter(EmptyBodyFilter.java:97)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
        at org.camunda.bpm.webapp.impl.security.filter.SecurityFilter.doFilterSecure(SecurityFilter.java:67)
        at org.camunda.bpm.webapp.impl.security.filter.SecurityFilter.doFilter(SecurityFilter.java:51)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
        at org.camunda.bpm.webapp.impl.security.auth.AuthenticationFilter$1.execute(AuthenticationFilter.java:58)
        at org.camunda.bpm.webapp.impl.security.auth.AuthenticationFilter$1.execute(AuthenticationFilter.java:56)
        at org.camunda.bpm.webapp.impl.security.SecurityActions.runWithAuthentications(SecurityActions.java:40)
        at org.camunda.bpm.webapp.impl.security.auth.AuthenticationFilter.doFilter(AuthenticationFilter.java:56)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:94)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
        at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:620)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:502)
        at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1132)
        at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:684)
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1539)
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1495)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        at java.lang.Thread.run(Unknown Source)

I also got a different issue ( i believe those two might be related in some way ) which might be related to timeout of sorts.

What i wanted to understand is what sort of cases might cause such an warning error.

Any help or direction to handling this issue will be must welcomed!

Hi,

Just couple of question to understand what is your scenario:

  • Which camunda version do you use?
  • Is it possible to the failing bpmn file?
  • Where do you setup the retries? If in the process engine configuratio, please upload it also.

Best regards,
Yana

Hello and thank you for the reply.
I am using the new version 7.8 + Tomcat

In the BPMN i noticed the following -

  <bpmn:extensionElements>
    <camunda:failedJobRetryTimeCycle>5</camunda:failedJobRetryTimeCycle>
  </bpmn:extensionElements>

It looks like i setup one of the tasks to be ‘asynchronous before’, and i wrote ‘5’ in the Retry time cycle which is not the way it is supposed to be written like.

You can configure the time cycle using the ISO_8601 standard for repeating time intervals

I guess this is the reason for the error.

1 Like

Hi,

I am happy that you found the root cause of the issue. Yep your are definitely right

It should be something like R5/PT5M.
We introduced a new feature which can be helpful - global configuration of retry time cycle. You can read more about it here.

Best regards,
Yana

1 Like