Bug 1032043
Summary: | RETE-OO: CCE when using declarative agenda | ||||||
---|---|---|---|---|---|---|---|
Product: | [Retired] JBoss BRMS Platform 6 | Reporter: | Marek Winkler <mwinkler> | ||||
Component: | BRE | Assignee: | Mario Fusco <mfusco> | ||||
Status: | CLOSED CURRENTRELEASE | QA Contact: | Marek Winkler <mwinkler> | ||||
Severity: | high | Docs Contact: | |||||
Priority: | high | ||||||
Version: | 6.0.0 | ||||||
Target Milestone: | ER6 | ||||||
Target Release: | 6.0.0 | ||||||
Hardware: | Unspecified | ||||||
OS: | Unspecified | ||||||
Whiteboard: | |||||||
Fixed In Version: | Doc Type: | Bug Fix | |||||
Doc Text: | Story Points: | --- | |||||
Clone Of: | Environment: | ||||||
Last Closed: | 2014-08-06 20:17:52 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: |
|
Verified on BRMS 6.0.0 ER6. |
Created attachment 826039 [details] Maven project with reproducer Description of problem: When using declarative agenda with RETE, the following ClassCastException is thrown: java.lang.ClassCastException: org.drools.reteoo.common.ReteWorkingMemoryEntryPoint cannot be cast to org.drools.core.common.InternalWorkingMemoryEntryPoint at org.drools.reteoo.common.ReteAgenda.insertAndStageActivation(ReteAgenda.java:371) at org.drools.reteoo.common.ReteAgenda.addActivation(ReteAgenda.java:388) at org.drools.reteoo.nodes.ReteRuleTerminalNode.assertLeftTuple(ReteRuleTerminalNode.java:47) at org.drools.core.reteoo.SingleLeftTupleSinkAdapter.doPropagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:213) at org.drools.core.reteoo.SingleLeftTupleSinkAdapter.createAndPropagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:153) at org.drools.reteoo.nodes.ReteLeftInputAdapterNode.assertObject(ReteLeftInputAdapterNode.java:44) at org.drools.core.reteoo.SingleObjectSinkAdapter.propagateAssertObject(SingleObjectSinkAdapter.java:60) at org.drools.core.reteoo.CompositeObjectSinkAdapter.propagateAssertObject(CompositeObjectSinkAdapter.java:369) at org.drools.core.reteoo.ObjectTypeNode.assertObject(ObjectTypeNode.java:288) at org.drools.core.reteoo.EntryPointNode.assertObject(EntryPointNode.java:260) at org.drools.core.common.NamedEntryPoint.insert(NamedEntryPoint.java:360) at org.drools.core.common.NamedEntryPoint.insert(NamedEntryPoint.java:279) at org.drools.core.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:1149) at org.drools.core.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:1093) at org.drools.core.impl.StatefulKnowledgeSessionImpl.insert(StatefulKnowledgeSessionImpl.java:308) at org.drools.reteoo.DeclarativeAgendaTest.testActivationBlock(DeclarativeAgendaTest.java:35) Using PHREAK, the test passes. Version-Release number of selected component (if applicable): Drools 6.0.0-SNAPSHOT BRMS 6.0.0 ER4 How reproducible: Run DeclarativeAgendaTest from the attached Maven project with setting drools engine to RETE: mvn clean test -Dtest=DeclarativeAgendaTest -Ddrools.ruleEngine=reteoo The test passes, when executed with PHREAK: mvn clean test -Dtest=DeclarativeAgendaTest -Ddrools.ruleEngine=phreak Actual results: The test fails. Expected results: The test passes (as it does with PHREAK).