Bundle deployment sometimes fails with the message: Unable to store Trigger with name: 'xxx' and group: 'org.rhq.enterprise.server.scheduler.jobs.BundleDeploymentStatusCheckJob', because one already exists with this identification
Environment
- Red Hat JBoss Operations Network (ON) 3.3.8
- Bundles deployed in a parallel fashion or from multiple users concurrently
Issue
-
Bundle deployments sometimes fails with the message:
INFO [org.quartz.core.JobRunShell] (RHQScheduler_Worker-5) Job org.rhq.enterprise.server.scheduler.jobs.BundleDeploymentStatusCheckJob.39199 threw a JobExecutionException: : org.quartz.JobExecutionException: Could not schedule the bundle deployment completion check job for BundleDeployment[id=39199, name=Deployment [3] of Version [3.0.0] to [myPlatform]. Upgrade from Version [3.0.0]]. [See nested exception: org.quartz.ObjectAlreadyExistsException: Unable to store Trigger with name: '1497219902994' and group: 'org.rhq.enterprise.server.scheduler.jobs.BundleDeploymentStatusCheckJob', because one already exists with this identification.] at org.rhq.enterprise.server.scheduler.jobs.BundleDeploymentStatusCheckJob.execute(BundleDeploymentStatusCheckJob.java:97) [rhq-server.jar:4.12.0.JON330GA-redhat-8] at org.quartz.core.JobRunShell.run(JobRunShell.java:202) [quartz-1.6.5.jar:1.6.5] ... Caused by: org.quartz.ObjectAlreadyExistsException: Unable to store Trigger with name: '1497219902994' and group: 'org.rhq.enterprise.server.scheduler.jobs.BundleDeploymentStatusCheckJob', because one already exists with this identification. -
Deployment of bundles in parallel fashion can fail sometimes with the message "Unable to store Trigger with name
and group 'org.rhq.enterprise.server.scheduler.jobs.BundleDeploymentStatusCheckJob', because one already exists with this identification"
Resolution
This issue is resolved in JBoss ON 3.3 Update-09 (3.3.9) and later.
To workaround the issue, you can introduce a delay between two deployment requests. For example, if using Content from www.gnu.org is not included.GNU Parallel this can be done by introducing --delay <time_sec> parameter where <time_sec> is delay in seconds (this can be less then 1).
Root Cause
The trigger name is a timestamp meaning that if multiple deployments were created at the same time, there is a chance that a duplicate trigger for a different job is created.
This issue was reported in This content is not included.Red Hat Bugzilla 1463351.
This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.