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

Issue with Camunda application upgrade from version 7.14 to 7.15

    XMLWordPrintable

Details

    • Bug Report
    • Resolution: Fixed
    • L3 - Default
    • None
    • None
    • engine
    • None

    Description

      Environment (Required on creation): Camunda 7.15.9

      Description (Required on creation; please attach any relevant screenshots, stacktraces, log files, etc. to the ticket):

      While upgrading Camunda from version 7.14 to 7.15, we saw flows are failing with exception:

      org.apache.ibatis.exceptions.PersistenceException:

       

      Steps to reproduce (Required on creation):

      This issue occurred when existing env with Camunda version 7.14 is upgraded to version 7.15

      1. System is currently running with Camunda version 7.14 and orders are being processed
      2. We want to bring our system to later product version where Camunda 7.15.9 is used. So first we are upgrading our Camunda PostgreSQL DB by running postgres_engine_7.14_to_7.15.sql
      3. Script postgres_engine_7.14_to_7.15.sql run successfully
      4. Now after schema upgrade, we are going to upgrade software version. In between Schema upgrade and software upgrade, there are orders coming to system for execution.  
      5. All the flow which are currently running in system between schema upgrade and software upgrade is failed with below exception:

      Error querying database. Cause: org.postgresql.util.PSQLException: ERROR: cached plan must not change result type

      The error may exist in org/camunda/bpm/engine/impl/mapping/entity/Incident.xml

      The error may involve defaultParameterMap

      The error occurred while setting parameters

      SQL: select * from ACT_RU_INCIDENT I where I.CONFIGURATION = ?_

      Cause: org.postgresql.util.PSQLException: ERROR: cached plan must not change result type
      at org.apache.ibatis.exceptions.ExceptionFactory.wrapException(ExceptionFactory.java:30)
      at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:149)
      at org.apache.ibatis.session.defaults.DefaultSqlSession.selectList(DefaultSqlSession.java:140)
      at org.camunda.bpm.engine.impl.db.sql.DbSqlSession.selectList(DbSqlSession.java:97)
      at org.camunda.bpm.engine.impl.db.entitymanager.DbEntityManager.selectListWithRawParameter(DbEntityManager.java:181)
      at org.camunda.bpm.engine.impl.db.entitymanager.DbEntityManager.selectList(DbEntityManager.java:173)
      at org.camunda.bpm.engine.impl.db.entitymanager.DbEntityManager.selectList(DbEntityManager.java:169)
      at org.camunda.bpm.engine.impl.db.entitymanager.DbEntityManager.selectList(DbEntityManager.java:153)

      Observed Behavior (Required on creation):

      1. Flows are failing after running script postgres_engine_7.14_to_7.15.sql and before upgrading Camunda Software.

      Expected behavior (Required on creation):

      1. After Schema upgrade to 7.15, the Camunda application should work seamlessly as the new schema should be backward compatible.

      Root Cause (Required on prioritization):

      When Camunda DB is upgraded from version 7.14 to 7.15, new column ANNOTATION_ is added to ACT_RU_INCIDENT table as part of DB upgrade to 7.15 but as Camunda application is not yet upgraded, so old(7.14) Camunda application code is using new DB(7.15)

      Old code should work with new DB as it should be backward compatible.

      However, in 7.14 code, it is using SELECT * from ACT_RU_INCIDENT  and it looks like using that data set, it is populating in an array where the array size is limited as per old version. As new column is added to the table ACT_RU_INCIDENT so it is not able to fit that additional column data to array of old code.

      Solution Ideas (Optional):

      If the issue is with array size then instead of using SELECT * from ACT_RU_INCIDENT, the Camunda code should be changed to mention required fields SELECT statement.

      For example in 7.14, SELECT  ID_,ROOT_PROC_INST_ID_,PROC_INST_ID_,BUSINESS_KEY_,PROC_DEF_ID_,ACT_ID_,ACT_INST_ID_,IS_ACTIVE_  from ACT_RU_INCIDENT

                              In 7.15 SELECT  ID_,ROOT_PROC_INST_ID_,PROC_INST_ID_,BUSINESS_KEY_,PROC_DEF_ID_,ACT_ID_,ACT_INST_ID_,IS_ACTIVE_ , ANNOTATION_ from ACT_RU_INCIDENT

      Hints (optional):

      mgm-controller-panel

        This is the controller panel for Smart Panels app

        Attachments

          Activity

            People

              michal.dytko Michal Dytko
              basantap Basanta Palhar
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Salesforce