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