The jira you reference, JBRULES-3713, has marked itself as a duplicate of /JBRULES-3632.
The later was fixed for the upcoming 5.6 release, again try the 5.5.1.SNAPSHOT to be
sure.
The problem is due to the LeftTuple factory method. Each node builds and returns it's
own LeftTuple. If some how a LeftTuple is created by one node, but used by a different
node, that can cause this problem.
Mark
On 7 Mar 2013, at 04:23, erolagnab <trung.n.k(a)gmail.com> wrote:
We've upgraded Drools 5.1 to 5.4.0.Final. Everything is great
with new incremental build change-set. However, occasionally we get this error (so far, 2
different stack trace) java.lang.UnsupportedOperationException at
org.drools.reteoo.BaseLeftTuple.getObject(BaseLeftTuple.java:589) at
org.drools.reteoo.RuleTerminalNode.modifyLeftTuple(RuleTerminalNode.java:273) at
org.drools.reteoo.LeftTupleSource.doModifyLeftTuple(LeftTupleSource.java:297) at
org.drools.reteoo.AbstractTerminalNode.modifyLeftTuple(AbstractTerminalNode.java:104) at
org.drools.reteoo.CompositeLeftTupleSinkAdapter.doPropagateModifyObject(CompositeLeftTupleSinkAdapter.java:260)
at
org.drools.reteoo.CompositeLeftTupleSinkAdapter.propagateModifyObject(CompositeLeftTupleSinkAdapter.java:275)
at org.drools.reteoo.LeftInputAdapterNode.modifyObject(LeftInputAdapterNode.java:170) at
org.drools.reteoo.SingleObjectSinkAdapter.propagateModifyObject(SingleObjectSinkAdapter.java:68)
at org.drools.reteoo.AlphaNode.modifyObject(AlphaNode.java:157) at
org.drools.reteoo.CompositeObjectSinkAdapter.doPropagateModifyObject(CompositeObjectSinkAdapter.java:507)
at
org.drools.reteoo.CompositeObjectSinkAdapter.propagateModifyObject(CompositeObjectSinkAdapter.java:432)
at org.drools.reteoo.AlphaNode.modifyObject(AlphaNode.java:157) at
org.drools.reteoo.CompositeObjectSinkAdapter.doPropagateModifyObject(CompositeObjectSinkAdapter.java:507)
at
org.drools.reteoo.CompositeObjectSinkAdapter.propagateModifyObject(CompositeObjectSinkAdapter.java:421)
at org.drools.reteoo.ObjectTypeNode.modifyObject(ObjectTypeNode.java:314) at
org.drools.reteoo.EntryPointNode.modifyObject(EntryPointNode.java:265) at
org.drools.common.NamedEntryPoint.update(NamedEntryPoint.java:470) at
org.drools.common.NamedEntryPoint.update(NamedEntryPoint.java:370) at
org.drools.base.DefaultKnowledgeHelper.update(DefaultKnowledgeHelper.java:317) at
org.drools.base.DefaultKnowledgeHelper.update(DefaultKnowledgeHelper.java:312) AND
java.lang.UnsupportedOperationException at
org.drools.reteoo.BaseLeftTuple.getPrevious(BaseLeftTuple.java:478) at
org.drools.core.util.LeftTupleList.remove(LeftTupleList.java:84) at
org.drools.core.util.LeftTupleList.removeAdd(LeftTupleList.java:65) at
org.drools.reteoo.JoinNode.modifyLeftTuple(JoinNode.java:302) at
org.drools.reteoo.LeftTupleSource.doModifyLeftTuple(LeftTupleSource.java:297) at
org.drools.reteoo.LeftTupleSource.modifyLeftTuple(LeftTupleSource.java:271) at
org.drools.reteoo.JoinNode.modifyLeftTuple(JoinNode.java:429) at
org.drools.reteoo.CompositeLeftTupleSinkAdapter.doPropagateModifyObject(CompositeLeftTupleSinkAdapter.java:260)
at
org.drools.reteoo.CompositeLeftTupleSinkAdapter.propagateModifyObject(CompositeLeftTupleSinkAdapter.java:275)
at org.drools.reteoo.LeftInputAdapterNode.modifyObject(LeftInputAdapterNode.java:170) at
org.drools.reteoo.SingleObjectSinkAdapter.propagateModifyObject(SingleObjectSinkAdapter.java:68)
at org.drools.reteoo.AlphaNode.modifyObject(AlphaNode.java:157) at
org.drools.reteoo.CompositeObjectSinkAdapter.doPropagateModifyObject(CompositeObjectSinkAdapter.java:507)
at
org.drools.reteoo.CompositeObjectSinkAdapter.propagateModifyObject(CompositeObjectSinkAdapter.java:432)
at org.drools.reteoo.AlphaNode.modifyObject(AlphaNode.java:157) at
org.drools.reteoo.CompositeObjectSinkAdapter.doPropagateModifyObject(CompositeObjectSinkAdapter.java:507)
at
org.drools.reteoo.CompositeObjectSinkAdapter.propagateModifyObject(CompositeObjectSinkAdapter.java:421)
at org.drools.reteoo.ObjectTypeNode.modifyObject(ObjectTypeNode.java:314) at
org.drools.reteoo.EntryPointNode.modifyObject(EntryPointNode.java:265) at
org.drools.common.NamedEntryPoint.update(NamedEntryPoint.java:470) at
org.drools.common.NamedEntryPoint.update(NamedEntryPoint.java:370) at
org.drools.base.DefaultKnowledgeHelper.update(DefaultKnowledgeHelper.java:317) at
org.drools.base.DefaultKnowledgeHelper.update(DefaultKnowledgeHelper.java:312) I've
searched around and saw
https://issues.jboss.org/browse/JBRULES-3713. I've downloaded
the test program and load our rules but can't reproduce the issue. The similarity
between our rules and rules in the test case is that we do have a rule matched and perform
an update on the fact. With my limited knowledge of drools and how it works internally,
i've run out of ideas. SOS, please help!!! Regards, Trung
View this message in context: UnsupportedOperationException intermitently
Sent from the Drools: User forum mailing list archive at
Nabble.com.
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users