]
Mark Proctor reassigned DROOLS-264:
-----------------------------------
Assignee: Mario Fusco (was: Mark Proctor)
JPAKnowledgeService stops to work suddenly
------------------------------------------
Key: DROOLS-264
URL:
https://issues.jboss.org/browse/DROOLS-264
Project: Drools
Issue Type: Bug
Affects Versions: 5.5.0.Final
Environment: PostgreSQL 8.4
Linux Ubuntu
JBoss 5.1.0
Reporter: Nedo Nedic
Assignee: Mario Fusco
From time to time, while facts are being inserted into session and persisted in database,
the following exception occurs.
The session is no more updated because SQL sentences can't be executed anymore.
Sometimes, when session is restored from marshalled snapshot the same error happens.
2013-09-17 11:17:03,959 ERROR [org.drools.persistence.jpa.JpaTimerJobInstance] Unable to
execute timer job!
java.lang.RuntimeException: Unable to load session snapshot
at
org.drools.persistence.SessionMarshallingHelper.loadSnapshot(SessionMarshallingHelper.java:96)
at
org.drools.persistence.SingleSessionCommandService.initKsession(SingleSessionCommandService.java:269)
at
org.drools.persistence.SingleSessionCommandService.execute(SingleSessionCommandService.java:369)
at org.drools.persistence.jpa.JpaTimerJobInstance.call(JpaTimerJobInstance.java:34)
at org.drools.time.impl.DefaultTimerJobInstance.call(DefaultTimerJobInstance.java:1)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:98)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:207)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.NullPointerException
at org.drools.time.impl.JDKTimerService.removeJob(JDKTimerService.java:133)
at org.drools.common.Scheduler.removeAgendaItem(Scheduler.java:75)
at org.drools.common.DefaultAgenda.removeScheduleItem(DefaultAgenda.java:474)
at org.drools.common.DefaultAgenda.removeActivation(DefaultAgenda.java:349)
at org.drools.common.DefaultAgenda.cancelActivation(DefaultAgenda.java:687)
at org.drools.reteoo.RuleTerminalNode.retractLeftTuple(RuleTerminalNode.java:320)
at
org.drools.reteoo.SingleLeftTupleSinkAdapter.doPropagateRetractLeftTuple(SingleLeftTupleSinkAdapter.java:224)
at
org.drools.reteoo.SingleLeftTupleSinkAdapter.propagateRetractLeftTuple(SingleLeftTupleSinkAdapter.java:98)
at org.drools.reteoo.NotNode.propagateRetractLeftTuple(NotNode.java:444)
at org.drools.reteoo.NotNode.assertObject(NotNode.java:142)
at
org.drools.reteoo.SingleObjectSinkAdapter.propagateAssertObject(SingleObjectSinkAdapter.java:59)
at
org.drools.reteoo.CompositeObjectSinkAdapter.propagateAssertObject(CompositeObjectSinkAdapter.java:364)
at org.drools.reteoo.ObjectTypeNode.assertObject(ObjectTypeNode.java:235)
at org.drools.reteoo.EntryPointNode.assertObject(EntryPointNode.java:240)
at
org.drools.marshalling.impl.ProtobufInputMarshaller.assertHandleIntoOTN(ProtobufInputMarshaller.java:483)
at
org.drools.marshalling.impl.ProtobufInputMarshaller.readFactHandles(ProtobufInputMarshaller.java:459)
at
org.drools.marshalling.impl.ProtobufInputMarshaller.readSession(ProtobufInputMarshaller.java:259)
at
org.drools.marshalling.impl.ProtobufInputMarshaller.readSession(ProtobufInputMarshaller.java:116)
at
org.drools.marshalling.impl.ProtobufMarshaller.unmarshall(ProtobufMarshaller.java:143)
at
org.drools.persistence.SessionMarshallingHelper.loadSnapshot(SessionMarshallingHelper.java:88)
... 11 more