Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1076036

Summary: Reassignment of task did not happen after fail-over because of NPE in global timer service
Product: [Retired] JBoss BPMS Platform 6 Reporter: Radovan Synek <rsynek>
Component: Business CentralAssignee: Maciej Swiderski <mswiders>
Status: CLOSED CURRENTRELEASE QA Contact: Radovan Synek <rsynek>
Severity: high Docs Contact:
Priority: high    
Version: 6.0.1CC: kverlaen
Target Milestone: ER1   
Target Release: 6.0.2   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-08-06 19:50:11 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
server log - node one
none
server log - node two none

Description Radovan Synek 2014-03-13 12:13:56 UTC
Created attachment 873950 [details]
server log - node one

Description of problem:
Having a Business-central cluster with two EAP nodes in domain, reassignment of task started on node one did not happen on node two after the node one was shut down.
Following exception was showing up repeatedly in the second node server log till the first one restarted:
13:56:31,572 INFO  [org.quartz.core.JobRunShell] (jBPMClusteredScheduler_Worker-1) Job jbpm.1_2_START threw a JobExecutionException: : org.quartz.JobExecutionException: Exception when executing scheduled job [See nested exception: java.lang.NullPointerException]
	at org.jbpm.process.core.timer.impl.QuartzSchedulerService$QuartzJob.execute(QuartzSchedulerService.java:292) [jbpm-flow-6.0.2-redhat-4.jar:6.0.2-redhat-4]
	at org.quartz.core.JobRunShell.run(JobRunShell.java:216) [quartz-1.8.5.jar:]
	at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:549) [quartz-1.8.5.jar:]
Caused by: java.lang.NullPointerException
	at org.jbpm.persistence.timer.GlobalJpaTimerJobInstance.call(GlobalJpaTimerJobInstance.java:62) [jbpm-persistence-jpa-6.0.2-redhat-4.jar:6.0.2-redhat-4]
	at org.jbpm.persistence.timer.GlobalJpaTimerJobInstance.call(GlobalJpaTimerJobInstance.java:42) [jbpm-persistence-jpa-6.0.2-redhat-4.jar:6.0.2-redhat-4]
	at org.jbpm.process.core.timer.impl.QuartzSchedulerService$QuartzJob.execute(QuartzSchedulerService.java:273) [jbpm-flow-6.0.2-redhat-4.jar:6.0.2-redhat-4]
	... 2 more


Version-Release number of selected component (if applicable):
6.0.1.ER2

How reproducible:
unfortunately, this issue does not happen every time, but so far this stack trace has showed only with PER_REQUEST session strategy

Steps to Reproduce:
1. configure Business-central cluster with 2 EAP nodes
2. create a process definition containing a task with reassignment defined
3. deploy corresponding project with PER_REQUEST session strategy
4. start the task on node one, kill the node before the reassignment takes place
5. log in business-central on node two and check the owner of the task (and check both server logs)

Comment 1 Radovan Synek 2014-03-13 12:14:23 UTC
Created attachment 873951 [details]
server log - node two

Comment 2 Maciej Swiderski 2014-03-13 18:15:20 UTC
caused by incorrect look up of runtime engines to provide CommandService.

jbpm
master:
https://github.com/droolsjbpm/jbpm/commit/6548f1936f624a0ff2d3ba2743534b5abd66c8e6

6.0.x:
https://github.com/droolsjbpm/jbpm/commit/1dad52479564b9424ed999d0b1dbc8a5ec86d9c0

Comment 3 Radovan Synek 2014-04-29 08:00:03 UTC
Verified with BPMS-6.0.2.ER2