Uploaded image for project: 'Red Hat Process Automation Manager'
  1. Red Hat Process Automation Manager
  2. RHPAM-3228

InvalidClassException after BPMS 6.1 -> RHPAM 7.x migration with active Quartz timers

    XMLWordPrintable

Details

    • Bug
    • Resolution: Not a Bug
    • Major
    • None
    • 7.8.0.GA
    • jBPM Core
      • RHPAM 7.8 configured with Quartz timers
      • DB content migrated from BPMS 6.1 with active processes / active timers
    • False
    • False
    • This does not affect codebase just providing a tool
    • ---
    • ---
    • 2020 Week 43-45 (from Okt 19)

    Description

      This is a continuation of RHBPMS-3962 that shows up when data is migrated from BPMS 6.1 to RHPAM 7.x:

      After migrating the old 6.0 db content to RHPAM 7.x, and applying the byteman script, the quartz execution now fails with the following error message:

      ERROR [org.quartz.impl.jdbcjobstore.JobStoreCMT] (QuartzScheduler_jBPMClusteredScheduler-mweiler1601500417570_MisfireHandler) MisfireHandler: Error handling misfires: Couldn't store trigger 'jbpm.4-7-7_trigger' 
      ...
      Caused by: org.quartz.JobPersistenceException: Couldn't retrieve job because the BLOB couldn't be deserialized: org.drools.core.time.impl.DefaultJobHandle; incompatible types for field cancel [See nested exception: java.io.InvalidClassException: org.drools.core.time.impl.DefaultJobHandle; incompatible types for field cancel]
      	at org.quartz.impl.jdbcjobstore.JobStoreSupport.retrieveJob(JobStoreSupport.java:1399)
      	at org.quartz.impl.jdbcjobstore.JobStoreSupport.storeTrigger(JobStoreSupport.java:1210)
      	... 5 more
      Caused by: java.io.InvalidClassException: org.drools.core.time.impl.DefaultJobHandle; incompatible types for field cancel
      	at java.io.ObjectStreamClass.matchFields(ObjectStreamClass.java:2299)
      	at java.io.ObjectStreamClass.getReflector(ObjectStreamClass.java:2193)
      	at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:669)
      	at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1843)
      

      The change to DefaultJobHandle has been introduced with DROOLS-1660. We need a tool to perform something like: dump the data, transform to the new class, update the data with the new classes. 

      Attachments

        1. bpms611-upgrade-test-oracle.zip
          314 kB
        2. bpms611-upgrate-test.zip
          45 kB
        3. migration-timer-tool.zip
          76 kB
        4. migration-timer-tool-tweaked.zip
          63 kB
        5. tweaks.diff
          6 kB

        Activity

          People

            elguardian@gmail.com Enrique González Martínez (Inactive)
            rhn-support-mputz Martin Weiler (Inactive)
            Gonzalo Muñoz Fernández Gonzalo Muñoz Fernández
            Gonzalo Muñoz Fernández Gonzalo Muñoz Fernández
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: