Camunda Tomcat package 7.4.0 - SQLServer - Process Engine Persistence exception

Hi guys,

First of all thank you for the good work on camunda.

I’m actually using camunda 7.4.0 tomcat distribution with history level set to none and when i use cokcpit to browse my processes i always get the following error :

08-Aug-2016 15:29:05.095 SEVERE [http-apr-8080-exec-6] org.camunda.commons.logging.BaseLogger.logError ENGINE-16004 Exception while closing command context: Process engine persistence exception
 org.camunda.bpm.engine.ProcessEngineException: Process engine persistence exception
	at org.camunda.bpm.engine.impl.interceptor.CommandInvocationContext.rethrow(CommandInvocationContext.java:60)
	at org.camunda.bpm.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:106)
	at org.camunda.bpm.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:30)
	at org.camunda.bpm.cockpit.impl.db.CommandExecutorImpl.executeCommand(CommandExecutorImpl.java:39)
	at org.camunda.bpm.cockpit.impl.db.QueryServiceImpl.executeQuery(QueryServiceImpl.java:33)
	at org.camunda.bpm.cockpit.impl.plugin.base.resources.ProcessInstanceRestService$1.execute(ProcessInstanceRestService.java:76)
	at org.camunda.bpm.cockpit.impl.plugin.base.resources.ProcessInstanceRestService$1.execute(ProcessInstanceRestService.java:71)
	at org.camunda.bpm.engine.impl.interceptor.CommandExecutorImpl.execute(CommandExecutorImpl.java:24)
	at org.camunda.bpm.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:95)
	at org.camunda.bpm.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:30)
	at org.camunda.bpm.cockpit.impl.db.CommandExecutorImpl.executeCommand(CommandExecutorImpl.java:39)
	at org.camunda.bpm.cockpit.impl.plugin.base.resources.ProcessInstanceRestService.queryProcessInstances(ProcessInstanceRestService.java:71)
	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:497)
	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: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:291)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.camunda.bpm.engine.rest.filter.CacheControlFilter.doFilter(CacheControlFilter.java:41)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	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:239)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.camunda.bpm.webapp.impl.security.auth.AuthenticationFilter$1.execute(AuthenticationFilter.java:59)
	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:38)
	at org.camunda.bpm.webapp.impl.security.auth.AuthenticationFilter.doFilter(AuthenticationFilter.java:56)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:217)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:673)
	at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2503)
	at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2492)
	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: org.apache.ibatis.exceptions.PersistenceException: 
### Error querying database.  Cause: com.microsoft.sqlserver.jdbc.SQLServerException: The conversion from int to TIMESTAMP is unsupported.
### The error may exist in org/camunda/bpm/cockpit/plugin/base/queries/processInstance.xml
### The error may involve cockpit.base.selectRunningProcessInstancesIncludingIncidents
### The error occurred while handling results
### SQL: select       INSTANCE.ID_,       INSTANCE.BUSINESS_KEY_,       INSTANCE.START_TIME_,       INSTANCE.SUSPENSION_STATE_,       INCIDENT.INCIDENT_TYPE_,       INCIDENT.INCIDENT_COUNT_     from       (                  SELECT SUB.* FROM (         select RES.* , row_number() over (ORDER BY START_TIME_ desc) rnk FROM ( select distinct RES.* ,                             null START_TIME_                         from       ACT_RU_EXECUTION RES                   inner join       ACT_RE_PROCDEF P     on       RES.PROC_DEF_ID_ = P.ID_             WHERE RES.ID_ = RES.PROC_INST_ID_                      and RES.PROC_DEF_ID_ = ?                                                                                                                               AND (                                                     ISNULL((     SELECT     CASE                        WHEN                      RES.PROC_INST_ID_ IN                                   (SELECT                     A.RESOURCE_ID_              FROM                     ACT_RU_AUTHORIZATION A              WHERE                     A.TYPE_ = 1              AND                     A.USER_ID_ = ?              AND                     A.PERMS_ &? = ?              AND                     A.RESOURCE_TYPE_ = ?              AND                     A.RESOURCE_ID_ = RES.PROC_INST_ID_)         THEN 1                               WHEN                      RES.PROC_INST_ID_ IN                                   (SELECT                     A.RESOURCE_ID_              FROM                     ACT_RU_AUTHORIZATION A              WHERE                     A.TYPE_ = 2              AND                     A.USER_ID_ = ?              AND                     A.PERMS_ &? != ?              AND                     A.RESOURCE_TYPE_ = ?              AND                     A.RESOURCE_ID_ = RES.PROC_INST_ID_)         THEN 0                      WHEN         EXISTS           (SELECT                   ID_            FROM                   ACT_RU_AUTHORIZATION A            WHERE                   A.TYPE_ = 1            AND                   A.USER_ID_ = ?            AND                   A.PERMS_ &? = ?            AND                   A.RESOURCE_TYPE_ = ?            AND                   A.RESOURCE_ID_ = '*')         THEN 1               WHEN         EXISTS           (SELECT                   ID_            FROM                   ACT_RU_AUTHORIZATION A            WHERE                   A.TYPE_ = 2            AND                   A.USER_ID_ = ?            AND                   A.PERMS_ &? != ?            AND                   A.RESOURCE_TYPE_ = ?            AND                   A.RESOURCE_ID_ = '*')       THEN 0        ELSE           (           SELECT             CASE                                                                                                  WHEN                                                              RES.PROC_INST_ID_ IN                                                                                               (SELECT                                         A.RESOURCE_ID_                                  FROM                                         ACT_RU_AUTHORIZATION A                                  WHERE                                         A.TYPE_ = 0                                  AND                                         A.USER_ID_ = '*'                                  AND                                         A.PERMS_ &? = ?                                  AND                                         A.RESOURCE_TYPE_ = ?                                  AND                                         A.RESOURCE_ID_ = RES.PROC_INST_ID_)                             THEN 1                                                                                                               WHEN                                                              RES.PROC_INST_ID_ IN                                                                                               (SELECT                                         A.RESOURCE_ID_                                  FROM                                         ACT_RU_AUTHORIZATION A                                  WHERE                                         A.TYPE_ = 0                                  AND                                         A.USER_ID_ = '*'                                  AND                                         A.PERMS_ &? != ?                                  AND                                         A.RESOURCE_TYPE_ = ?                                  AND                                         A.RESOURCE_ID_ = RES.PROC_INST_ID_)                             THEN 0                                                                                  WHEN                             EXISTS                               (SELECT                                       ID_                                FROM                                       ACT_RU_AUTHORIZATION A                                WHERE                                       A.TYPE_ = 0                                AND                                       A.USER_ID_ = '*'                                AND                                       A.PERMS_ &? = ?                                AND                                       A.RESOURCE_TYPE_ = ?                                AND                                       A.RESOURCE_ID_ = '*')                             THEN 1                                                       WHEN                             EXISTS                               (SELECT                                       ID_                                FROM                                       ACT_RU_AUTHORIZATION A                                WHERE                                       A.TYPE_ = 0                                AND                                       A.USER_ID_ = '*'                                AND                                       A.PERMS_ &? != ?                                AND                                       A.RESOURCE_TYPE_ = ?                                AND                                       A.RESOURCE_ID_ = '*')                             THEN 0                                                       ELSE                                                                                   null                                                        END        )     END     )     ,       ISNULL((     SELECT     CASE                        WHEN                      P.KEY_ IN                                   (SELECT                     A.RESOURCE_ID_              FROM                     ACT_RU_AUTHORIZATION A              WHERE                     A.TYPE_ = 1              AND                     A.USER_ID_ = ?              AND                     A.PERMS_ &? = ?              AND                     A.RESOURCE_TYPE_ = ?              AND                     A.RESOURCE_ID_ = P.KEY_)         THEN 1                               WHEN                      P.KEY_ IN                                   (SELECT                     A.RESOURCE_ID_              FROM                     ACT_RU_AUTHORIZATION A              WHERE                     A.TYPE_ = 2              AND                     A.USER_ID_ = ?              AND                     A.PERMS_ &? != ?              AND                     A.RESOURCE_TYPE_ = ?              AND                     A.RESOURCE_ID_ = P.KEY_)         THEN 0                      WHEN         EXISTS           (SELECT                   ID_            FROM                   ACT_RU_AUTHORIZATION A            WHERE                   A.TYPE_ = 1            AND                   A.USER_ID_ = ?            AND                   A.PERMS_ &? = ?            AND                   A.RESOURCE_TYPE_ = ?            AND                   A.RESOURCE_ID_ = '*')         THEN 1               WHEN         EXISTS           (SELECT                   ID_            FROM                   ACT_RU_AUTHORIZATION A            WHERE                   A.TYPE_ = 2            AND                   A.USER_ID_ = ?            AND                   A.PERMS_ &? != ?            AND                   A.RESOURCE_TYPE_ = ?            AND                   A.RESOURCE_ID_ = '*')       THEN 0        ELSE           (           SELECT             CASE                                                                                                  WHEN                                                              P.KEY_ IN                                                                                               (SELECT                                         A.RESOURCE_ID_                                  FROM                                         ACT_RU_AUTHORIZATION A                                  WHERE                                         A.TYPE_ = 0                                  AND                                         A.USER_ID_ = '*'                                  AND                                         A.PERMS_ &? = ?                                  AND                                         A.RESOURCE_TYPE_ = ?                                  AND                                         A.RESOURCE_ID_ = P.KEY_)                             THEN 1                                                                                                               WHEN                                                              P.KEY_ IN                                                                                               (SELECT                                         A.RESOURCE_ID_                                  FROM                                         ACT_RU_AUTHORIZATION A                                  WHERE                                         A.TYPE_ = 0                                  AND                                         A.USER_ID_ = '*'                                  AND                                         A.PERMS_ &? != ?                                  AND                                         A.RESOURCE_TYPE_ = ?                                  AND                                         A.RESOURCE_ID_ = P.KEY_)                             THEN 0                                                                                  WHEN                             EXISTS                               (SELECT                                       ID_                                FROM                                       ACT_RU_AUTHORIZATION A                                WHERE                                       A.TYPE_ = 0                                AND                                       A.USER_ID_ = '*'                                AND                                       A.PERMS_ &? = ?                                AND                                       A.RESOURCE_TYPE_ = ?                                AND                                       A.RESOURCE_ID_ = '*')                             THEN 1                                                       WHEN                             EXISTS                               (SELECT                                       ID_                                FROM                                       ACT_RU_AUTHORIZATION A                                WHERE                                       A.TYPE_ = 0                                AND                                       A.USER_ID_ = '*'                                AND                                       A.PERMS_ &? != ?                                AND                                       A.RESOURCE_TYPE_ = ?                                AND                                       A.RESOURCE_ID_ = '*')                             THEN 0                                                       ELSE                                                                                   null                                                        END        )     END     )          , 0            )            )                                              ) = 1                       )RES ) SUB WHERE SUB.rnk >= ? AND SUB.rnk < ?       ) INSTANCE          left join       (                           select           INCIDENT.PROC_INST_ID_, INCIDENT.INCIDENT_TYPE_, count(INCIDENT.ID_) INCIDENT_COUNT_         from           ACT_RU_INCIDENT INCIDENT                   where           INCIDENT.PROC_DEF_ID_ = ?                   group by           INCIDENT.PROC_INST_ID_, INCIDENT.INCIDENT_TYPE_       ) INCIDENT     on       INSTANCE.ID_ = INCIDENT.PROC_INST_ID_     order by       START_TIME_ desc
### Cause: com.microsoft.sqlserver.jdbc.SQLServerException: The conversion from int to TIMESTAMP is unsupported.
	at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:26)
	at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:111)
	at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:102)
	at org.camunda.bpm.engine.impl.db.sql.DbSqlSession.selectList(DbSqlSession.java:87)
	at org.camunda.bpm.cockpit.impl.db.QueryServiceImpl$1.execute(QueryServiceImpl.java:37)
	at org.camunda.bpm.cockpit.impl.db.QueryServiceImpl$1.execute(QueryServiceImpl.java:33)
	at org.camunda.bpm.engine.impl.interceptor.CommandExecutorImpl.execute(CommandExecutorImpl.java:24)
	at org.camunda.bpm.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:95)
	... 60 more
Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: The conversion from int to TIMESTAMP is unsupported.
	at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError(SQLServerException.java:190)
	at com.microsoft.sqlserver.jdbc.DataTypes.throwConversionError(DataTypes.java:1117)
	at com.microsoft.sqlserver.jdbc.ServerDTVImpl.getValue(dtv.java:2481)
	at com.microsoft.sqlserver.jdbc.DTV.getValue(dtv.java:193)
	at com.microsoft.sqlserver.jdbc.Column.getValue(Column.java:132)
	at com.microsoft.sqlserver.jdbc.SQLServerResultSet.getValue(SQLServerResultSet.java:2082)
	at com.microsoft.sqlserver.jdbc.SQLServerResultSet.getValue(SQLServerResultSet.java:2067)
	at com.microsoft.sqlserver.jdbc.SQLServerResultSet.getTimestamp(SQLServerResultSet.java:2477)
	at org.apache.ibatis.type.DateTypeHandler.getNullableResult(DateTypeHandler.java:39)
	at org.apache.ibatis.type.DateTypeHandler.getNullableResult(DateTypeHandler.java:28)
	at org.apache.ibatis.type.BaseTypeHandler.getResult(BaseTypeHandler.java:55)
	at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.getPropertyMappingValue(DefaultResultSetHandler.java:393)
	at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.applyPropertyMappings(DefaultResultSetHandler.java:367)
	at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.getRowValue(DefaultResultSetHandler.java:756)
	at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.handleRowValuesForNestedResultMap(DefaultResultSetHandler.java:724)
	at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.handleRowValues(DefaultResultSetHandler.java:267)
	at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.handleResultSet(DefaultResultSetHandler.java:239)
	at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.handleResultSets(DefaultResultSetHandler.java:153)
	at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:60)
	at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:73)
	at org.apache.ibatis.executor.SimpleExecutor.doQuery(SimpleExecutor.java:60)
	at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:267)
	at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:137)
	at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:96)
	at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:77)
	at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:108)
	... 66 more

For what it worth, I’m using sqljdbc4 as driver.

Any clues to resolve this problem would be greatly apreciated.

Hi,

which driver version do you use? We test 7.4 with

<dependency>
  <groupId>com.microsoft.sqlserver</groupId>
  <artifactId>sqljdbc4</artifactId>
  <version>4.0</version>
</dependency>

Cheers,
Sebastian

Hi again i too use the 4.0 version

And thanks for the blockquote of my stack :slight_smile: