Project

General

Profile

Actions

Defect #2100

closed

Planned long running task was deleted after upgrade product version

Added by Ondřej Kopr about 4 years ago. Updated about 4 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Radek Tomiška
Category:
Scheduler
Target version:
Start date:
03/04/2020
Due date:
% Done:

100%

Estimated time:
Affected versions:
Owner:

Description

After I made upgrade from version 9.7.16 to 10.0.0 all my planed long running including triggers was removed and exists only default planed task.

After I planned new tasks with new triggers history processed items missing for this newly planted tasks and the task process again all entities.

All information that I have for now:
  • issue appears with upgrade to version 10.0.0,
  • Quartz was upgraded from version 2.2.3 to 2.3.1
  • old planed tasks still exist in table qrtz_job_details, but on frontend exists only newly planed.

Affected version: 10.0.0

Actions #1

Updated by Ondřej Kopr about 4 years ago

  • Description updated (diff)
Actions #2

Updated by Radek Tomiška about 4 years ago

  • Status changed from New to In Progress
Actions #3

Updated by Radek Tomiška about 4 years ago

  • Status changed from In Progress to Needs feedback
  • Assignee changed from Radek Tomiška to Ondrej Husník
  • Target version set to 10.2.0
  • % Done changed from 0 to 90

Issue is related to upgraded Spring boot from 1.3.8 => 2.1.7. In Spring boot 2.x was fixed ignoring 'org.quartz.scheduler.instanceName' property from quartz.properties file:
https://github.com/spring-projects/spring-boot/issues/14243

Which we have configured in each profile to 'idm-scheduler-instance'. But in quartz database was filled spring bean name 'schedulerFactoryBean' as instance name. Quartz property starts to be effective after Spring was upgraded => previously scheduled tasks are present in database, but ignored (no scheduler instance 'schedulerFactoryBean' exists now).

We decided to change quartz.properties 'org.quartz.scheduler.instanceName=schedulerFactoryBean' => we don't want to close a door for using more scheduler instancies in future (we could fix it directly in code as other option ~ configured instance name will be still ignored, but configuration will be not effective anymore).

Solution:
For project, where CzechIdM version 10.x is already installed and task were rescheduled, don't change anything now => tasks will be scheduled under 'idm-scheduler-instance'.
For project, where CzechIdM version 10.x will be upgraded from any older version, change property 'org.quartz.scheduler.instanceName=schedulerFactoryBean' in your project profiles => tasks will be scheduled under 'schedulerFactoryBean', previously scheduled task will be preserved.
For projects with new CzechIdM version 10 instalation, don't change anything => tasks will be scheduled under 'idm-scheduler-instance' by default.

Warning:
Be aware to change 'org.quartz.scheduler.instanceName' value in you quartz.properties file, if you don't want to use different or clustered scheduler => tasks need to be rescheduled after any change.

Doc:
https://github.com/bcvsolutions/CzechIdMng/blob/develop/MIGRATION.md#changed-properties

Could you provide me a feedback, please?

Actions #4

Updated by Ondrej Husník about 4 years ago

  • Status changed from Needs feedback to Resolved
  • Assignee changed from Ondrej Husník to Radek Tomiška
  • % Done changed from 90 to 100

I tested it. It acts as described in the solution paragraph.

Actions #5

Updated by Radek Tomiška about 4 years ago

  • Status changed from Resolved to Closed
Actions

Also available in: Atom PDF