[rules-users] threw error java.lang.ClassCastException: org.drools.reteoo.FromNode$FromMemory cannot be cast to org.drools.reteoo.BetaMemory

Davide Sottara dsotty at gmail.com
Thu May 9 00:08:13 EDT 2013


Interesting... and great question! are you working with 5.5.0.Final,
5.5.1-SNAPSHOT / 5.6.0-SNAPSHOT or another version?
The KB lock/unlock event is, afaik, only fired when a thread acquires a
WRITE lock on a KB (e.g. to add or remove rules), while an insertion should
only acquire a READ lock, an event which is not fired.

If my understanding is correct, the container thread "http-8084-2" animates
the RuleRunner and spawns
a service thread - 2967417 - to do the actual insertion. 
Between here:
13/05/08 20:07:16|http-8084-2|RuleRunner|INFO|createModel Request class
initialized!
and
13/05/08 20:07:16|2967417|RuleRunner|INFO|processRequest Insert into KB ...
that thread modifies the KB 4 times. Then, a fifth modification takes place
and AFTER that, eventually,
the exception manifests.

Possibilities: 
- Are we missing an important part of the logs? 
- Is the RuleRunner class doing things it shouldn't do, like re-adding the
rules to the KB? 
My understanding is that the KnowledgeBaseAgentImpl is the one modifying the
(only) 
instance of the KB, but that "createModel" is suspicious....
- Do any of your rules trigger a modification of the KB, so that we would
have a "callback" from 
the fireallrules?

I guess that seeing the code of the RuleRunner might help...



--
View this message in context: http://drools.46999.n3.nabble.com/threw-error-java-lang-ClassCastException-org-drools-reteoo-FromNode-FromMemory-cannot-be-cast-to-orgy-tp4023497p4023739.html
Sent from the Drools: User forum mailing list archive at Nabble.com.


More information about the rules-users mailing list