[
https://issues.jboss.org/browse/DROOLS-576?page=com.atlassian.jira.plugin...
]
RH Bugzilla Integration commented on DROOLS-576:
------------------------------------------------
Mario Fusco <mfusco(a)redhat.com> changed the Status of [bug
1130404|https://bugzilla.redhat.com/show_bug.cgi?id=1130404] from NEW to MODIFIED
NullPointerException in ActivationTimerInputMarshaller.deserialize()
--------------------------------------------------------------------
Key: DROOLS-576
URL:
https://issues.jboss.org/browse/DROOLS-576
Project: Drools
Issue Type: Bug
Affects Versions: 6.2.0.Beta1
Environment: RETEOO engine
Reporter: Toshiya Kobayashi
Assignee: Mario Fusco
Fix For: 6.2.0.CR2
With the following conditions:
- A persisted ksession
- RETEOO engine
- ksession is disposed while a timer is activated
- ksession is loaded with a new kbase which doesn't have a rule which associated with
the timer
ActivationTimerInputMarshaller.deserialize() throws a NullPointerException so failed to
load the ksession.
{noformat}
java.lang.RuntimeException: Unable to load session snapshot
at
org.drools.persistence.SessionMarshallingHelper.loadSnapshot(SessionMarshallingHelper.java:88)
~[classes/:na]
at
org.drools.persistence.SingleSessionCommandService.initExistingKnowledgeSession(SingleSessionCommandService.java:239)
~[classes/:na]
at
org.drools.persistence.SingleSessionCommandService.<init>(SingleSessionCommandService.java:172)
~[classes/:na]
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) [na:1.7.0_67]
at
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
[na:1.7.0_67]
at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
[na:1.7.0_67]
at java.lang.reflect.Constructor.newInstance(Constructor.java:526) [na:1.7.0_67]
at
org.drools.persistence.jpa.KnowledgeStoreServiceImpl.buildCommandService(KnowledgeStoreServiceImpl.java:122)
[classes/:na]
at
org.drools.persistence.jpa.KnowledgeStoreServiceImpl.loadKieSession(KnowledgeStoreServiceImpl.java:90)
[classes/:na]
at
org.drools.persistence.jpa.KnowledgeStoreServiceImpl.loadKieSession(KnowledgeStoreServiceImpl.java:39)
[classes/:na]
at
org.kie.internal.persistence.jpa.JPAKnowledgeService.loadStatefulKnowledgeSession(JPAKnowledgeService.java:130)
[kie-internal-6.2.0-SNAPSHOT.jar:6.2.0-SNAPSHOT]
at
org.drools.persistence.timer.integrationtests.TimerAndCalendarTest.testTimerWithRemovingRule(TimerAndCalendarTest.java:340)
[test-classes/:na]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_67]
...
Caused by: java.lang.NullPointerException: null
at
org.drools.core.common.Scheduler$ActivationTimerInputMarshaller.deserialize(Scheduler.java:216)
~[drools-core-6.2.0-SNAPSHOT.jar:6.2.0-SNAPSHOT]
at
org.drools.core.marshalling.impl.ProtobufInputMarshaller.readTimer(ProtobufInputMarshaller.java:700)
~[drools-core-6.2.0-SNAPSHOT.jar:6.2.0-SNAPSHOT]
at
org.drools.core.marshalling.impl.ProtobufInputMarshaller.readSession(ProtobufInputMarshaller.java:282)
~[drools-core-6.2.0-SNAPSHOT.jar:6.2.0-SNAPSHOT]
at
org.drools.core.marshalling.impl.ProtobufInputMarshaller.readSession(ProtobufInputMarshaller.java:155)
~[drools-core-6.2.0-SNAPSHOT.jar:6.2.0-SNAPSHOT]
at
org.drools.core.marshalling.impl.ProtobufMarshaller.unmarshall(ProtobufMarshaller.java:110)
~[drools-core-6.2.0-SNAPSHOT.jar:6.2.0-SNAPSHOT]
at
org.drools.core.marshalling.impl.ProtobufMarshaller.unmarshall(ProtobufMarshaller.java:54)
~[drools-core-6.2.0-SNAPSHOT.jar:6.2.0-SNAPSHOT]
at
org.drools.persistence.SessionMarshallingHelper.loadSnapshot(SessionMarshallingHelper.java:83)
~[classes/:na]
... 44 common frames omitted
{noformat}
Probably we may silently ignore the timer when leftTuple is not found.
--
This message was sent by Atlassian JIRA
(v6.3.1#6329)