[rules-users] Change Notification doesn't work with eval(true) in one of the rules

Sammi sammi_ting at yahoo.com.hk
Mon Jul 22 02:39:31 EDT 2013


All the rules defined in a single DRL were running fine until one day we
added eval(manager.isEnabledSomeSettings()) into one of the rule in drl,
which causing an issue for change update on the fly (see below error
stacks). When we changed that eval to Boolean(this == Boolean.TRUE) from
manager.isEnabledSomeSettings() then the change notification getting back to
work properly. Any ideas?


KnowledgeAgent adding KnowledgeDefinitionsPackage
com.baml.investxa.rule.order
Exception in thread "Thread-15" java.util.NoSuchElementException
	at java.util.HashMap$HashIterator.nextEntry(HashMap.java:796)
	at java.util.HashMap$EntryIterator.next(HashMap.java:834)
	at java.util.HashMap$EntryIterator.next(HashMap.java:832)
	at org.drools.reteoo.EvalConditionNode.doRemove(EvalConditionNode.java:311)
	at org.drools.common.BaseNode.remove(BaseNode.java:105)
	at org.drools.reteoo.BetaNode.doRemove(BetaNode.java:372)
	at org.drools.common.BaseNode.remove(BaseNode.java:105)
	at org.drools.reteoo.FromNode.doRemove(FromNode.java:390)
	at org.drools.common.BaseNode.remove(BaseNode.java:105)
	at org.drools.reteoo.FromNode.doRemove(FromNode.java:390)
	at org.drools.common.BaseNode.remove(BaseNode.java:105)
	at
org.drools.reteoo.RightInputAdapterNode.doRemove(RightInputAdapterNode.java:254)
	at org.drools.common.BaseNode.remove(BaseNode.java:105)
	at org.drools.reteoo.BetaNode.doRemove(BetaNode.java:368)
	at org.drools.common.BaseNode.remove(BaseNode.java:105)
	at org.drools.reteoo.FromNode.doRemove(FromNode.java:390)
	at org.drools.common.BaseNode.remove(BaseNode.java:105)
	at org.drools.reteoo.RuleTerminalNode.doRemove(RuleTerminalNode.java:429)
	at org.drools.common.BaseNode.remove(BaseNode.java:105)
	at org.drools.reteoo.ReteooBuilder.removeRule(ReteooBuilder.java:232)
	at org.drools.reteoo.ReteooRuleBase.removeRule(ReteooRuleBase.java:414)
	at org.drools.common.AbstractRuleBase.removeRule(AbstractRuleBase.java:836)
	at
org.drools.common.AbstractRuleBase.mergePackage(AbstractRuleBase.java:628)
	at
org.drools.common.AbstractRuleBase.addPackages(AbstractRuleBase.java:541)
	at org.drools.reteoo.ReteooRuleBase.addPackages(ReteooRuleBase.java:427)
	at org.drools.reteoo.ReteooRuleBase.addPackage(ReteooRuleBase.java:434)
	at
org.drools.agent.impl.KnowledgeAgentImpl.addResourcesToKnowledgeBase(KnowledgeAgentImpl.java:1031)
	at
org.drools.agent.impl.KnowledgeAgentImpl.incrementalBuildResources(KnowledgeAgentImpl.java:909)
	at
org.drools.agent.impl.KnowledgeAgentImpl.buildKnowledgeBase(KnowledgeAgentImpl.java:648)
	at
org.drools.agent.impl.KnowledgeAgentImpl.applyChangeSet(KnowledgeAgentImpl.java:192)
	at
org.drools.agent.impl.KnowledgeAgentImpl$ChangeSetNotificationDetector.run(KnowledgeAgentImpl.java:1202)
	at java.lang.Thread.run(Thread.java:662)
Exception in thread "Thread-22" java.util.NoSuchElementException
	at java.util.HashMap$HashIterator.nextEntry(HashMap.java:796)
	at java.util.HashMap$EntryIterator.next(HashMap.java:834)
	at java.util.HashMap$EntryIterator.next(HashMap.java:832)
	at org.drools.reteoo.EvalConditionNode.doRemove(EvalConditionNode.java:311)
	at org.drools.common.BaseNode.remove(BaseNode.java:105)
	at org.drools.reteoo.BetaNode.doRemove(BetaNode.java:372)
	at org.drools.common.BaseNode.remove(BaseNode.java:105)
	at org.drools.reteoo.FromNode.doRemove(FromNode.java:390)
	at org.drools.common.BaseNode.remove(BaseNode.java:105)
	at org.drools.reteoo.FromNode.doRemove(FromNode.java:390)
	at org.drools.common.BaseNode.remove(BaseNode.java:105)
	at
org.drools.reteoo.RightInputAdapterNode.doRemove(RightInputAdapterNode.java:254)
	at org.drools.common.BaseNode.remove(BaseNode.java:105)
	at org.drools.reteoo.BetaNode.doRemove(BetaNode.java:368)
	at org.drools.common.BaseNode.remove(BaseNode.java:105)
	at org.drools.reteoo.FromNode.doRemove(FromNode.java:390)
	at org.drools.common.BaseNode.remove(BaseNode.java:105)
	at org.drools.reteoo.RuleTerminalNode.doRemove(RuleTerminalNode.java:429)
	at org.drools.common.BaseNode.remove(BaseNode.java:105)
	at org.drools.reteoo.ReteooBuilder.removeRule(ReteooBuilder.java:232)
	at org.drools.reteoo.ReteooRuleBase.removeRule(ReteooRuleBase.java:414)
	at org.drools.common.AbstractRuleBase.removeRule(AbstractRuleBase.java:836)
	at
org.drools.common.AbstractRuleBase.mergePackage(AbstractRuleBase.java:628)
	at
org.drools.common.AbstractRuleBase.addPackages(AbstractRuleBase.java:541)
	at org.drools.reteoo.ReteooRuleBase.addPackages(ReteooRuleBase.java:427)
	at org.drools.reteoo.ReteooRuleBase.addPackage(ReteooRuleBase.java:434)
	at
org.drools.agent.impl.KnowledgeAgentImpl.addResourcesToKnowledgeBase(KnowledgeAgentImpl.java:1031)
	at
org.drools.agent.impl.KnowledgeAgentImpl.incrementalBuildResources(KnowledgeAgentImpl.java:909)
	at
org.drools.agent.impl.KnowledgeAgentImpl.buildKnowledgeBase(KnowledgeAgentImpl.java:648)
	at
org.drools.agent.impl.KnowledgeAgentImpl.applyChangeSet(KnowledgeAgentImpl.java:192)
	at
org.drools.agent.impl.KnowledgeAgentImpl$ChangeSetNotificationDetector.run(KnowledgeAgentImpl.java:1202)
	at java.lang.Thread.run(Thread.java:662)
Exception in thread "Thread-21" java.util.NoSuchElementException
	at java.util.HashMap$HashIterator.nextEntry(HashMap.java:796)
	at java.util.HashMap$EntryIterator.next(HashMap.java:834)
	at java.util.HashMap$EntryIterator.next(HashMap.java:832)
	at org.drools.reteoo.EvalConditionNode.doRemove(EvalConditionNode.java:311)
	at org.drools.common.BaseNode.remove(BaseNode.java:105)
	at org.drools.reteoo.BetaNode.doRemove(BetaNode.java:372)
	at org.drools.common.BaseNode.remove(BaseNode.java:105)
	at org.drools.reteoo.FromNode.doRemove(FromNode.java:390)
	at org.drools.common.BaseNode.remove(BaseNode.java:105)
	at org.drools.reteoo.FromNode.doRemove(FromNode.java:390)
	at org.drools.common.BaseNode.remove(BaseNode.java:105)
	at
org.drools.reteoo.RightInputAdapterNode.doRemove(RightInputAdapterNode.java:254)
	at org.drools.common.BaseNode.remove(BaseNode.java:105)
	at org.drools.reteoo.BetaNode.doRemove(BetaNode.java:368)
	at org.drools.common.BaseNode.remove(BaseNode.java:105)
	at org.drools.reteoo.FromNode.doRemove(FromNode.java:390)
	at org.drools.common.BaseNode.remove(BaseNode.java:105)
	at org.drools.reteoo.RuleTerminalNode.doRemove(RuleTerminalNode.java:429)
	at org.drools.common.BaseNode.remove(BaseNode.java:105)
	at org.drools.reteoo.ReteooBuilder.removeRule(ReteooBuilder.java:232)
	at org.drools.reteoo.ReteooRuleBase.removeRule(ReteooRuleBase.java:414)
	at org.drools.common.AbstractRuleBase.removeRule(AbstractRuleBase.java:836)
	at
org.drools.common.AbstractRuleBase.mergePackage(AbstractRuleBase.java:628)
	at
org.drools.common.AbstractRuleBase.addPackages(AbstractRuleBase.java:541)
	at org.drools.reteoo.ReteooRuleBase.addPackages(ReteooRuleBase.java:427)
	at org.drools.reteoo.ReteooRuleBase.addPackage(ReteooRuleBase.java:434)
	at
org.drools.agent.impl.KnowledgeAgentImpl.addResourcesToKnowledgeBase(KnowledgeAgentImpl.java:1031)
	at
org.drools.agent.impl.KnowledgeAgentImpl.incrementalBuildResources(KnowledgeAgentImpl.java:909)
	at
org.drools.agent.impl.KnowledgeAgentImpl.buildKnowledgeBase(KnowledgeAgentImpl.java:648)
	at
org.drools.agent.impl.KnowledgeAgentImpl.applyChangeSet(KnowledgeAgentImpl.java:192)
	at
org.drools.agent.impl.KnowledgeAgentImpl$ChangeSetNotificationDetector.run(KnowledgeAgentImpl.java:1202)
	at java.lang.Thread.run(Thread.java:662)




--
View this message in context: http://drools.46999.n3.nabble.com/Change-Notification-doesn-t-work-with-eval-true-in-one-of-the-rules-tp4025067.html
Sent from the Drools: User forum mailing list archive at Nabble.com.


More information about the rules-users mailing list