[jboss-jira] [JBoss JIRA] (DROOLS-215) Corrupted Working/Production memory

Gurinder Randhawa (JIRA) jira-events at lists.jboss.org
Wed Oct 16 12:06:02 EDT 2013


    [ https://issues.jboss.org/browse/DROOLS-215?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12815451#comment-12815451 ] 

Gurinder Randhawa commented on DROOLS-215:
------------------------------------------

I tried looking for rule pattern you outlined and we have alot of matches, a couple questions:

1. Is "10_ServiceRequest_InsertRefData" not the culprit rule as its shown at top of the stack trace? 

2. Narrowing down results to rules which evaluate on RefData() we have about 15 possible candidates, pasted below is one such sample, to narrow down issue can you elaborate more on your second point on constraint patterns to look for?

rule "20500_DefaultFactor_SUMM_50000"
    no-loop
    salience 7000
when
    $summRateFactorCode: RefData(code == "SUMM")
    $rateGroup: RateStandardGroup()
    $rateFactorGroup: RateFactorGroup(factorType == $summRateFactorCode, parentGroupRefId == $rateGroup.refId)
    $plan: Plan(rateGroups contains $rateGroup)
    $insuredPlan: InsuredPlan(planRefId == $plan.refId, getConfiguredParameterByGroupCode("SUMM")==null)    
    $factorValue : RateFactorValue() from $rateFactorGroup.matchInput("50000")
then
    RateFactorParameter parameter = new RateFactorParameter($factorValue);
    $insuredPlan.addConfiguredParameter(parameter);
    System.out.println("166000-Create default parameter SUMM 50000|code=" + $insuredPlan.getPlanCode() + "|value="+$factorValue.getValue()+"|min="+$factorValue.getMinValue()+"|max="+$factorValue.getMaxValue());
end
                
> Corrupted Working/Production memory
> -----------------------------------
>
>                 Key: DROOLS-215
>                 URL: https://issues.jboss.org/browse/DROOLS-215
>             Project: Drools
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>    Affects Versions: 5.5.0.Final
>            Reporter: Ales Dolecek
>            Assignee: Mark Proctor
>         Attachments: ConcurrentNodeMemories.java
>
>
> Experienced ClassCastException mixing BetaMemory and AlphaMemory. There is debate in the mailing list/forum. The problem seems to be related to dymanic updates of knowledgebase.
> Saddly there is no deterministic way how to reproduce the issue, but that should not prevent tracking it here.
> Stack trace from my project:
> java.lang.ClassCastException: org.drools.reteoo.BetaMemory cannot be cast to org.drools.reteoo.AlphaNode$AlphaMemory
>         at org.drools.reteoo.AlphaNode.assertObject(AlphaNode.java:136) ~[drools-core-5.5.0.Final.jar:5.5.0.Final]
>         at org.drools.reteoo.CompositeObjectSinkAdapter.doPropagateAssertObject(CompositeObjectSinkAdapter.java:497) ~[drools-core-5.5.0.Final.jar:5.5.0.Final]
>         at org.drools.reteoo.CompositeObjectSinkAdapter.propagateAssertObject(CompositeObjectSinkAdapter.java:382) ~[drools-core-5.5.0.Final.jar:5.5.0.Final]
>         at org.drools.reteoo.ObjectTypeNode.assertObject(ObjectTypeNode.java:235) ~[drools-core-5.5.0.Final.jar:5.5.0.Final]
>         at org.drools.reteoo.EntryPointNode.assertObject(EntryPointNode.java:240) ~[drools-core-5.5.0.Final.jar:5.5.0.Final]
>         at org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:350) ~[drools-core-5.5.0.Final.jar:5.5.0.Final]
>         at org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:311) ~[drools-core-5.5.0.Final.jar:5.5.0.Final]
>         at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:903) ~[drools-core-5.5.0.Final.jar:5.5.0.Final]
>         at org.drools.base.DefaultKnowledgeHelper.insert(DefaultKnowledgeHelper.java:192) ~[drools-core-5.5.0.Final.jar:5.5.0.Final]
>         at org.drools.base.DefaultKnowledgeHelper.insert(DefaultKnowledgeHelper.java:186) ~[drools-core-5.5.0.Final.jar:5.5.0.Final]
>         at cz.nextiraone.screening.rules.screening.Rule_Telefonni_cislo_z_textu__jen_cifry__225b11d6cd07418aac8c06cf5c86b4b1.defaultConsequence(Rule_Telefonni_cislo_z_textu__jen_cifry__225b11d6cd07418aac8c06cf5c86b4b1.java:7) ~[na
> :na]
>         at cz.nextiraone.screening.rules.screening.Rule_Telefonni_cislo_z_textu__jen_cifry__225b11d6cd07418aac8c06cf5c86b4b1DefaultConsequenceInvokerGenerated.evaluate(Unknown Source) ~[na:na]
>         at cz.nextiraone.screening.rules.screening.Rule_Telefonni_cislo_z_textu__jen_cifry__225b11d6cd07418aac8c06cf5c86b4b1DefaultConsequenceInvoker.evaluate(Unknown Source) ~[na:na]
>         at org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:1287) ~[drools-core-5.5.0.Final.jar:5.5.0.Final]
>         at org.drools.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:1221) ~[drools-core-5.5.0.Final.jar:5.5.0.Final]
>         at org.drools.common.DefaultAgenda.fireAllRules(DefaultAgenda.java:1456) ~[drools-core-5.5.0.Final.jar:5.5.0.Final]
>         at org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:710) ~[drools-core-5.5.0.Final.jar:5.5.0.Final]
>         at org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:674) ~[drools-core-5.5.0.Final.jar:5.5.0.Final]
>         at org.drools.impl.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowledgeSessionImpl.java:230) ~[drools-core-5.5.0.Final.jar:5.5.0.Final]

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


More information about the jboss-jira mailing list