[jboss-jira] [JBoss JIRA] Created: (JBRULES-2299) Retracting events using PseudoClockScheduler causes ClassCastException
Maciej Prochniak (JIRA)
jira-events at lists.jboss.org
Tue Oct 13 04:01:06 EDT 2009
Retracting events using PseudoClockScheduler causes ClassCastException
----------------------------------------------------------------------
Key: JBRULES-2299
URL: https://jira.jboss.org/jira/browse/JBRULES-2299
Project: Drools
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: drools-core, drools-core (fusion)
Affects Versions: 5.1.0.M1
Reporter: Maciej Prochniak
Assignee: Mark Proctor
When job is scheduled e.g. in sth like not A(this after [1s,10s] $a)
and relevant event is retracted from working memory, the job should be removed.
However, PseudoClockScheduler usues queue containing wrappers for job (ScheduledJob),
and remove method tries to remove job without this wrapper which causes:
java.lang.ClassCastException: org.drools.common.Scheduler$DuractionJob incompatible with org.drools.time.impl.PseudoClockScheduler$ScheduledJob
at org.drools.time.impl.PseudoClockScheduler$ScheduledJob.compareTo(PseudoClockScheduler.java:188)
at java.util.PriorityQueue.remove(PriorityQueue.java:355)
at org.drools.time.impl.PseudoClockScheduler.removeJob(PseudoClockScheduler.java:121)
at org.drools.common.Scheduler.removeAgendaItem(Scheduler.java:62)
at org.drools.common.DefaultAgenda.removeScheduleItem(DefaultAgenda.java:451)
at org.drools.common.ScheduledAgendaItem.remove(ScheduledAgendaItem.java:198)
at org.drools.reteoo.RuleTerminalNode.retractLeftTuple(RuleTerminalNode.java:289)
at org.drools.reteoo.SingleLeftTupleSinkAdapter.doPropagateRetractLeftTuple(SingleLeftTupleSinkAdapter.java:131)
at org.drools.reteoo.SingleLeftTupleSinkAdapter.propagateRetractLeftTuple(SingleLeftTupleSinkAdapter.java:42)
at org.drools.reteoo.NotNode.retractLeftTuple(NotNode.java:276)
at org.drools.reteoo.ObjectTypeNode.retractObject(ObjectTypeNode.java:234)
at org.drools.reteoo.EntryPointNode.retractObject(EntryPointNode.java:195)
at org.drools.common.AbstractWorkingMemory.retract(AbstractWorkingMemory.java:1207)
at org.drools.common.AbstractWorkingMemory.retract(AbstractWorkingMemory.java:1161)
at org.drools.impl.StatefulKnowledgeSessionImpl.retract(StatefulKnowledgeSessionImpl.java:237)
at pl.touk.droolsTest.PseudoSchedulerRemoveJobTest.testRule(PseudoSchedulerRemoveJobTest.java:61)
...more
Solution would be probably to wrap job which should be removed
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list