<div><br></div><div>   Yes, it might be different from version to version as we improve the overall algorithm. The reason for the different behavior is that under Drools 5.0 (and in most rule engines out there), every modify is just a retract+assert. So, the different fact handles would prevent the proper normalization of the activations. 5.1.x improved the algorithm with what we call true modify, where a modify is a real modify (not retract+assert). This algorithm allowed me to implement an optimization based on the system ID of the objects returned by the from expression: if it is the same identity of a previously existing fact, it will not recreate the fact handle, but reuse the existing one. That means the first rule was not cancelled and reactivated, it just remained active and so the from didn&#39;t had a direct effect on the lock-on-modify. There are scenarios, though where this still might happen, but I would have to review all that. The general advice as of now is still to avoid using &quot;from&quot; with &quot;lock-on-active&quot;, but I expect that restriction to be lifted in drools 6.</div>
<div><br></div><div>   Edson</div><meta http-equiv="content-type" content="text/html; charset=utf-8"><div><br></div><br><br><div class="gmail_quote">2011/1/20 hyjshanghai <span dir="ltr">&lt;<a href="mailto:hyjshanghai@gmail.com">hyjshanghai@gmail.com</a>&gt;</span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><br>
OK. You mean the behavior differs by versions.  My above test in which both<br>
rules fired was using Drools 5.1.1.<br>
<br>
Questions:<br>
<div class="im"><br>
1. &quot;Since the lock and no-loop features are based on the fact handles, the<br>
sometimes undesired interaction occurs.&quot;<br>
</div>Could you elaborate more on how is lock-on-active based on fact handles?<br>
<br>
2. Is it the expected design that when I ran my above rules in Drools 5.1.1<br>
both rules should fire? How is it related to the fact that lock-on-active is<br>
based on fact handles?<br>
<font color="#888888"><br>
--<br>
View this message in context: <a href="http://drools-java-rules-engine.46999.n3.nabble.com/Why-Using-from-Always-Return-A-New-Fact-tp2286393p2292914.html" target="_blank">http://drools-java-rules-engine.46999.n3.nabble.com/Why-Using-from-Always-Return-A-New-Fact-tp2286393p2292914.html</a><br>

</font><div><div></div><div class="h5">Sent from the Drools - User mailing list archive at Nabble.com.<br>
_______________________________________________<br>
rules-users mailing list<br>
<a href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/rules-users" target="_blank">https://lists.jboss.org/mailman/listinfo/rules-users</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>  Edson Tirelli<br>  JBoss Drools Core Development<br>  JBoss by Red Hat @ <a href="http://www.jboss.com">www.jboss.com</a><br>