-
Bug
-
Resolution: Done
-
Critical
-
6.0.3
+++ This bug was initially created as a clone of Bug #1167738 +++
Description of problem:
If a transaction is rolled back after a Timer execution, a 'null' jobHandle is pushed into jobHandles list (GlobalTimerService.timerJobsPerSession). So NullPointerException is raised in GlobalTimerService.getTimerJobInstances().
=====
Caused by: java.lang.NullPointerException
at org.jbpm.process.core.timer.impl.GlobalTimerService.getTimerJobInstances(GlobalTimerService.java:149)
at org.jbpm.process.core.timer.impl.RegisteredTimerServiceDelegate.getTimerJobInstances(RegisteredTimerServiceDelegate.java:107)
at org.drools.core.marshalling.impl.ProtobufOutputMarshaller.serializeSession(ProtobufOutputMarshaller.java:213)
at org.drools.core.marshalling.impl.ProtobufOutputMarshaller.writeSession(ProtobufOutputMarshaller.java:119)
at org.drools.core.marshalling.impl.ProtobufMarshaller.marshall(ProtobufMarshaller.java:166)
at org.drools.core.marshalling.impl.ProtobufMarshaller.marshall(ProtobufMarshaller.java:148)
at org.drools.persistence.SessionMarshallingHelper.getSnapshot(SessionMarshallingHelper.java:64)
at org.drools.persistence.info.SessionInfo.update(SessionInfo.java:85)
====
Version-Release number of selected component (if applicable):
BPMS 6.0.3 roll-up patch #2
Steps to Reproduce:
1. Run attached BZ1167738_null_job_603rp2.zip
Actual results:
NullPointerException is thrown. ("java.lang.RuntimeException: roll back!" is an intentional Exception so you can ignore)
Caused by: java.lang.NullPointerException
at org.jbpm.process.core.timer.impl.GlobalTimerService.getTimerJobInstances(GlobalTimerService.java:149)
Expected results:
The transaction rollback should be performed without any problems.
Additional info:
The unit test in BZ1167738 fix commit (ExceptionAfterTimerNodeTest.java
in https://github.com/droolsjbpm/jbpm/commit/ccd47359f9433115dff329a19826326ee2ea8d68) doesn't reproduce the issue with 6.0.x branch because of some changes in JbpmJUnitBaseTestCase. So I wrote another reproducer for this BZ.
- duplicates
-
RHBPMS-539 BitronixRollbackException thrown instead of performing rollback
- Verified
- is blocked by
-
RHBPMS-539 BitronixRollbackException thrown instead of performing rollback
- Verified