InvalidClassException du to incompatible serialVerionUID number when migrating from BPMS 6.1 to RHPAM 7.x with active Quartz timers

Solution In Progress - Updated -

Issue

We have used BPMS 6.1 configured with Quartz for timers. We have performed the database updates to migrate to RHPAM 7.x, including the Quartz schema update script to migrate from Quartz 1.8.x to Quartz 2.3. For newly created process instances, the timers work as expected. However, upon executing timers that already existed in the database prior to the migration, the execution fails with the following ERROR:

15:20:29,982 ERROR [org.quartz.impl.jdbcjobstore.JobStoreCMT] (QuartzScheduler_jBPMClusteredScheduler-mweiler1603920027749_MisfireHandler) MisfireHandler: Error handling misfires: Couldn't store trigger 'jbpm.2-3-4_trigger' for 'jbpm.2-3-4' job:Couldn't retrieve job because the BLOB couldn't be deserialized: org.drools.core.time.SelfRemovalJobContext; local class incompatible: stream classdesc serialVersionUID = 4974155438759730703, local class serialVersionUID = 614425985040796356: org.quartz.JobPersistenceException: Couldn't store trigger 'jbpm.2-3-4_trigger' for 'jbpm.2-3-4' job:Couldn't retrieve job because the BLOB couldn't be deserialized: org.drools.core.time.SelfRemovalJobContext; local class incompatible: stream classdesc serialVersionUID = 4974155438759730703, local class serialVersionUID = 614425985040796356 [See nested exception: org.quartz.JobPersistenceException: Couldn't retrieve job because the BLOB couldn't be deserialized: org.drools.core.time.SelfRemovalJobContext; local class incompatible: stream classdesc serialVersionUID = 4974155438759730703, local class serialVersionUID = 614425985040796356 [See nested exception: java.io.InvalidClassException: org.drools.core.time.SelfRemovalJobContext; local class incompatible: stream classdesc serialVersionUID = 4974155438759730703, local class serialVersionUID = 614425985040796356]]
    at org.quartz.impl.jdbcjobstore.JobStoreSupport.storeTrigger(JobStoreSupport.java:1229)
    at org.quartz.impl.jdbcjobstore.JobStoreSupport.doUpdateOfMisfiredTrigger(JobStoreSupport.java:1042)
    at org.quartz.impl.jdbcjobstore.JobStoreSupport.recoverMisfiredJobs(JobStoreSupport.java:991)
    at org.quartz.impl.jdbcjobstore.JobStoreSupport.doRecoverMisfires(JobStoreSupport.java:3264)
    at org.quartz.impl.jdbcjobstore.JobStoreSupport$MisfireHandler.manage(JobStoreSupport.java:4012)
    at org.quartz.impl.jdbcjobstore.JobStoreSupport$MisfireHandler.run(JobStoreSupport.java:4033)
Caused by: org.quartz.JobPersistenceException: Couldn't retrieve job because the BLOB couldn't be deserialized: org.drools.core.time.SelfRemovalJobContext; local class incompatible: stream classdesc serialVersionUID = 4974155438759730703, local class serialVersionUID = 614425985040796356 [See nested exception: java.io.InvalidClassException: org.drools.core.time.SelfRemovalJobContext; local class incompatible: stream classdesc serialVersionUID = 4974155438759730703, local class serialVersionUID = 614425985040796356]
    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.SelfRemovalJobContext; local class incompatible: stream classdesc serialVersionUID = 4974155438759730703, local class serialVersionUID = 614425985040796356

What can be done to address this issue?

Environment

  • Red Hat Process Automation Manager (RHPAM)
    • 7.x

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.

Current Customers and Partners

Log in for full access

Log In

New to Red Hat?

Learn more about Red Hat subscriptions

Using a Red Hat product through a public cloud?

How to access this content