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 <[email protected]> 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
> [email protected]
> https://lists.jboss.org/mailman/listinfo/rules-users

_______________________________________________
rules-users mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/rules-users

Reply via email to