[rules-users] UnsupportedOperationException intermitently

Mark Proctor mproctor at codehaus.org
Fri Mar 8 19:13:18 EST 2013


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 at 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 at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20130309/2b61709a/attachment.html 


More information about the rules-users mailing list