Uploaded image for project: 'camunda BPM'
  1. camunda BPM
  2. CAM-8975

Select process instances in Cockpit results in an exception when mssql is used as db

    Details

    • Type: Bug Report
    • Status: Closed
    • Priority: L3 - Default
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 7.9.0, 7.8.7, 7.9.0-alpha4
    • Component/s: engine, webapp
    • Labels:
      None
    • Environment:
      mssql

      Description

      Steps to reproduce:
      1. Setup mssql db
      2. Disable history
      3. Open cockpit and navigate to Process instances in Runtime

      Current behavior:
      You receive an exception:

      17-Apr-2018 09:27:55.629 SEVERE [http-nio-8080-exec-4] 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:148)
      	at org.camunda.bpm.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:115)
      	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.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.resources.ProcessInstanceRestService$1.execute(ProcessInstanceRestService.java:82)
      	at org.camunda.bpm.cockpit.impl.plugin.resources.ProcessInstanceRestService$1.execute(ProcessInstanceRestService.java:76)
      	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.cockpit.impl.db.CommandExecutorImpl.executeCommand(CommandExecutorImpl.java:39)
      	at org.camunda.bpm.cockpit.impl.plugin.resources.ProcessInstanceRestService.queryProcessInstances(ProcessInstanceRestService.java:76)
      	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 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:741)
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
      	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
      	at org.camunda.bpm.engine.rest.filter.CacheControlFilter.doFilter(CacheControlFilter.java:41)
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
      	at org.camunda.bpm.engine.rest.filter.EmptyBodyFilter.doFilter(EmptyBodyFilter.java:95)
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
      	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:193)
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
      	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:193)
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
      	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
      	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
      	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
      	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
      	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:651)
      	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
      	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
      	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:409)
      	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
      	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:754)
      	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1376)
      	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
      	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: org.apache.ibatis.executor.result.ResultMapException: Error attempting to get column 'START_TIME_' from result set.  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 distinct       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_                        left JOIN (     SELECT A.*     FROM ACT_RU_AUTHORIZATION A     WHERE A.TYPE_ < 2          AND ( A.USER_ID_ in ( ?, '*')                        OR A.GROUP_ID_ IN  (  ? , ? , ? , ? )            )             AND (                  (             A.RESOURCE_TYPE_ = ? AND A.PERMS_ &? = ?          OR            A.RESOURCE_TYPE_ = ? AND A.PERMS_ &? = ?          )                        )             )             AUTH ON (AUTH.RESOURCE_ID_ in (RES.PROC_INST_ID_, P.KEY_, '*'))                      WHERE RES.ID_ = RES.PROC_INST_ID_                      and RES.PROC_DEF_ID_ = ?                                                                                                                                                 AND AUTH.RESOURCE_ID_ IS NOT NULL                       )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: org.apache.ibatis.executor.result.ResultMapException: Error attempting to get column 'START_TIME_' from result set.  Cause: com.microsoft.sqlserver.jdbc.SQLServerException: The conversion from int to TIMESTAMP is unsupported.
      	at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30)
      	at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:150)
      	at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:141)
      	at org.camunda.bpm.engine.impl.db.sql.DbSqlSession.selectList(DbSqlSession.java:95)
      	at org.camunda.bpm.cockpit.impl.db.QueryServiceImpl$1.execute(QueryServiceImpl.java:39)
      	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:104)
      	... 65 more
      Caused by: org.apache.ibatis.executor.result.ResultMapException: Error attempting to get column 'START_TIME_' from result set.  Cause: com.microsoft.sqlserver.jdbc.SQLServerException: The conversion from int to TIMESTAMP is unsupported.
      	at org.apache.ibatis.type.BaseTypeHandler.getResult(BaseTypeHandler.java:68)
      	at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.getPropertyMappingValue(DefaultResultSetHandler.java:463)
      	at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.applyPropertyMappings(DefaultResultSetHandler.java:432)
      	at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.getRowValue(DefaultResultSetHandler.java:908)
      	at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.handleRowValuesForNestedResultMap(DefaultResultSetHandler.java:873)
      	at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.handleRowValues(DefaultResultSetHandler.java:320)
      	at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.handleResultSet(DefaultResultSetHandler.java:295)
      	at org.apache.ibatis.executor.resultset.DefaultResultSetHandler.handleResultSets(DefaultResultSetHandler.java:192)
      	at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:64)
      	at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:79)
      	at org.apache.ibatis.executor.BatchExecutor.doQuery(BatchExecutor.java:93)
      	at org.apache.ibatis.executor.BaseExecutor.queryFromDatabase(BaseExecutor.java:324)
      	at org.apache.ibatis.executor.BaseExecutor.query(BaseExecutor.java:156)
      	at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:109)
      	at org.apache.ibatis.executor.CachingExecutor.query(CachingExecutor.java:83)
      	at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:148)
      	... 71 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:66)
      	... 86 more
      

      Expected:
      The process instances are shown.

      Hint:
      Check the query for mssql and db2.

        Issue Links

          Activity

          There are no comments yet on this issue.

            People

            • Assignee:
              nikola.koevski Nikola Koevski
              Reporter:
              yana.vasileva Yana Vasileva
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development