<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Leon S wrote:
<blockquote cite="mid:16020406.post@talk.nabble.com" type="cite">
  <pre wrap="">We ran into this problem after upgrading from 3.0.* to 4.0.4.

Is there a JIRA issue filed for this? I see a few MVEL-related issues scoped
for 4.0.5 and 5.0 releases, but  nothing that looks like specifically
covering this problem.

  </pre>
</blockquote>
The user who reported this has not provided more information on how
this is happening, nor have they confirmed that is or is not fixed in
4.0.x. My advice is quickly test your code against 4.0.x and let us
know if there is a problem. There is no way we can determine if there
is or isn't a problem from the stack trace given at the start of this
conversation thread.<br>
<a class="moz-txt-link-freetext" href="http://anonsvn.labs.jboss.com/labs/jbossrules/branches/4.0.x/">http://anonsvn.labs.jboss.com/labs/jbossrules/branches/4.0.x/</a><br>
<blockquote cite="mid:16020406.post@talk.nabble.com" type="cite">
  <pre wrap="">Thanks,

Leon  
 

Mark Proctor wrote:
  </pre>
  <blockquote type="cite">
    <pre wrap="">This looks different to what was fixed in 4.0.4. I'm cc'ing brockm to 
get his feedback as it looks like an MVEL bug on accessors.

Mark
Fernando Meyer wrote:
    </pre>
    <blockquote type="cite">
      <pre wrap="">Hi Ingomar,

Which drools version are you using? We made improvements on 4.0.4, 
that fixes concurrency issues on mvel core, so if you aren't using it 
please do an update and try test against your environment.

Please let me know if your problems go away when you upgrade.

Thanks 

On Jan 22, 2008 11:13 AM, Ingomar Otter &lt;<a class="moz-txt-link-abbreviated" href="mailto:ingomar.otter@valtech.de">ingomar.otter@valtech.de</a> 
<a class="moz-txt-link-rfc2396E" href="mailto:ingomar.otter@valtech.de">&lt;mailto:ingomar.otter@valtech.de&gt;</a>&gt; wrote:

    Folks,
    I am currently trying to scale our implementation by farming out
    request into mutliple threads. I am on a 4 CPU Mac.
    A few things I am wondering about:
    1. Although I see an increase in CPU load when going from single
    to multi-threaded processing the throughput increased marginally.
    I am pretty sure that my measurements are correct. I have checked
    the GC and this is not the source of congestion. My question here
    is whether Drools is using lot's of synchronization that may
    explain this. 
    2. When I share the RuleBase accross threads (which I think is
    valid?) I get interesting errors during execution. eg:

    org.drools.RuntimeDroolsException : Exception executing predicate
    org.drools.base.mvel.MVELPredicateExpression@bb981e
    atorg.drools.rule.PredicateConstraint.isAllowedCachedRight(
    PredicateConstraint.java:246)
    at
   
org.drools.common.TripleBetaConstraints.isAllowedCachedRight(TripleBetaConstraints.java:200)

    atorg.drools.reteoo.JoinNode.assertObject(JoinNode.java:150)

   
atorg.drools.reteoo.CompositeObjectSinkAdapter.propagateAssertObject(CompositeObjectSinkAdapter.java:318)
   
atorg.drools.reteoo.ObjectTypeNode.assertObject(ObjectTypeNode.java:153)
    at org.drools.reteoo.Rete.assertObject(Rete.java:175)
    atorg.drools.reteoo.ReteooRuleBase.assertObject
    (ReteooRuleBase.java:192)
    at
   
org.drools.reteoo.ReteooWorkingMemory.doInsert(ReteooWorkingMemory.java:71)

    at
   
org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:909)

   
atorg.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:881)

   
atorg.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:682)

    atxxxx.DroolsPD.validate(DroolsPD.java:66)
    at xxxx.DroolsMTRunner.run(DroolsMTRunner.java:30)
    at java.lang.Thread.run(Thread.java:552)
    Caused by: org.mvel.CompileException: cannot invoke getter:
    getSAClass [declr.class: xxx.AbstractSA; act.class: null]
    atorg.mvel.optimizers.impl.refl.GetterAccessor.getValue(
    GetterAccessor.java:52)
    at
   
org.mvel.optimizers.impl.refl.VariableAccessor.getValue(VariableAccessor.java:39)

    at
   
org.mvel.ast.VariableDeepPropertyNode.getReducedValueAccelerated(VariableDeepPropertyNode.java:22)
   
atorg.mvel.ast.PropertyASTNode.getReducedValueAccelerated(PropertyASTNode.java:21)
    at
   
org.mvel.ast.BinaryOperation.getReducedValueAccelerated(BinaryOperation.java:21)

    at org.mvel.MVELRuntime.execute(MVELRuntime.java:88)
    at org.mvel.CompiledExpression.getValue(CompiledExpression.java:111)

    atorg.mvel.MVEL.executeExpression(MVEL.java:235)
    at
   
org.drools.base.mvel.MVELPredicateExpression.evaluate(MVELPredicateExpression.java:36)

   
atorg.drools.rule.PredicateConstraint.isAllowedCachedRight(PredicateConstraint.java:240)
    ... 13 more
    Caused by: java.lang.NullPointerException
    atsun.reflect.GeneratedMethodAccessor6.invoke (Unknown Source)
    atsun.reflect.DelegatingMethodAccessorImpl.invoke(
    DelegatingMethodAccessorImpl.java:25)
    atjava.lang.reflect.Method.invoke( Method.java:324)
    at
   
org.mvel.optimizers.impl.refl.GetterAccessor.getValue(GetterAccessor.java:42)

    ... 22 more

    Details:
     * I use StatelessSessions which are private to the threads
     * No data is shared between threads (with the exception of the
    RuleBase, as outline above)
     * I am on JDK 1.5

    I would be grateful for any pointers for 'correct' use of Drools
    in an MT environment.
    Cheers,
      Ingomar


    Ingomar Otter
    Chief Technology Officer
    <a class="moz-txt-link-abbreviated" href="mailto:ingomar.otter@valtech.de">ingomar.otter@valtech.de</a> <a class="moz-txt-link-rfc2396E" href="mailto:ingomar.otter@valtech.de">&lt;mailto:ingomar.otter@valtech.de&gt;</a>
    Mobile: +49 172 2367867

    Valtech GmbH
    Bahnstraße 16
    40212 Düsseldorf
    Germany

    Phone: +49 (0)211 179237-0
    Fax: +49 211 179237-19

    <a class="moz-txt-link-abbreviated" href="http://www.valtech.de">www.valtech.de</a> <a class="moz-txt-link-rfc2396E" href="http://www.valtech.de/">&lt;http://www.valtech.de/&gt;</a>

    Geschäftsführer: Ingo Kriescher
    Amtsgericht Düsseldorf HRB48672
     

    _______________________________________________
    rules-users mailing list
    <a class="moz-txt-link-abbreviated" href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</a> <a class="moz-txt-link-rfc2396E" href="mailto:rules-users@lists.jboss.org">&lt;mailto:rules-users@lists.jboss.org&gt;</a>
    <a class="moz-txt-link-freetext" href="https://lists.jboss.org/mailman/listinfo/rules-users">https://lists.jboss.org/mailman/listinfo/rules-users</a>




-- 
Fernando Meyer <a class="moz-txt-link-freetext" href="http://fmeyer.org">http://fmeyer.org</a>
JBoss Rules Core Developer
<a class="moz-txt-link-abbreviated" href="mailto:fernando@fmeyer.org">fernando@fmeyer.org</a> <a class="moz-txt-link-rfc2396E" href="mailto:fernando@fmeyer.org">&lt;mailto:fernando@fmeyer.org&gt;</a>
------------------------------------------------------------------------

_______________________________________________
rules-users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</a>
<a class="moz-txt-link-freetext" href="https://lists.jboss.org/mailman/listinfo/rules-users">https://lists.jboss.org/mailman/listinfo/rules-users</a>
  
      </pre>
    </blockquote>
    <pre wrap="">
_______________________________________________
rules-users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</a>
<a class="moz-txt-link-freetext" href="https://lists.jboss.org/mailman/listinfo/rules-users">https://lists.jboss.org/mailman/listinfo/rules-users</a>


    </pre>
  </blockquote>
  <pre wrap=""><!---->


  </pre>
</blockquote>
<br>
</body>
</html>