[rules-users] Starting engine using fireUntilHalt and inserting no facts results in 50% CPU usage

mardo mardo at abicola.de
Mon Oct 25 15:52:26 EDT 2010


Unfortunately no, I just had a look how it was implemented (like
http://tutorials.jenkov.com/java-concurrency/thread-signaling.html#missedsig
nals) -> missed signals and noticed that it somehow didn't work as intended.

But no idea how to directly correct it, sorry.

-----Original Message-----
From: rules-users-bounces at lists.jboss.org
[mailto:rules-users-bounces at lists.jboss.org] On Behalf Of Edson Tirelli
Sent: Montag, 25. Oktober 2010 21:30
To: Rules Users List
Subject: Re: [rules-users] Starting engine using fireUntilHalt and inserting
no facts results in 50% CPU usage

   Do you have a solution/patch for it?

   Edson

2010/10/25 mardo <mardo at abicola.de>:
> Luckily just stumbled upon this mail...
>
> You can take a look at
>
http://drools-java-rules-engine.46999.n3.nabble.com/fireUntilHalt-and-OSGi-C
> PU-load-td1022352.html
>
> where I already provided a minimal example (don't know if it covers all
> cases) and tracked it down to missedNotifyAll in DefaultAgenda
>
> cheers
>
>
>
> -----Original Message-----
> From: rules-users-bounces at lists.jboss.org
> [mailto:rules-users-bounces at lists.jboss.org] On Behalf Of Edson Tirelli
> Sent: Montag, 25. Oktober 2010 21:17
> To: Rules Users List
> Subject: Re: [rules-users] Starting engine using fireUntilHalt and
inserting
> no facts results in 50% CPU usage
>
>  This is clearly a regression as Drools should be not be using busy
> waits in fireUntilHalt(). It should use monitors and locks as it was
> doing before.
>
>  Can anyone open a JIRA? also, if anyone would be willing to take
> investigate and fix this one, it would really help. Otherwise, I will
> add it to my queue.
>
>  Thanks,
>
>   Edson
>
> 2010/10/25 Norman C <rent_my_time at yahoo.com>:
>>
>>
>> Note that the 100% CPU issue with fireUntiHalt is only with the 5.1
> version of
>> Drools.  In 5.0.x, CPU is close to 0% when there are no rules to fire.  I
> saw
>> this when I was testing upgrading to 5.1.
>>
>> Norman
>>
>>
>>
>> ----- Original Message ----
>> From: jschmied <nabble at juergenschmied.de>
>> To: rules-users at lists.jboss.org
>> Sent: Sun, October 24, 2010 4:06:02 AM
>> Subject: Re: [rules-users] Starting engine using fireUntilHalt and
> inserting no
>> facts results in 50% CPU usage
>>
>>
>> Hi!
>>
>> fireUntilHalt uses one processor with 100%. You have a dualcore, so it's
>> 50%. It's by design like this.
>>
>> You can:
>> - Call fireAllRules after every insert if you have no ruleflow.
>>
>> - Use fireAllRules in a loop with a small sleep and check for the end of
> the
>> ruleflow in the loop:
>>
>> while (prc.getState() == ProcessInstance.STATE_ACTIVE) {
>>     Threads.sleep(20);
>>     ksession.fireAllRules();
>> }
>>
>> with both methods you get a low cpu load.
>>
>> bye
>>
>> juergen
>> --
>> View this message in context:
>>
>
http://drools-java-rules-engine.46999.n3.nabble.com/Starting-engine-using-fi
>
reUntilHalt-and-inserting-no-facts-results-in-50-CPU-usage-tp1760370p1761821
> .html
>>
>> Sent from the Drools - User mailing list archive at Nabble.com.
>> _______________________________________________
>> rules-users mailing list
>> rules-users at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/rules-users
>>
>>
>>
>>
>>
>> _______________________________________________
>> rules-users mailing list
>> rules-users at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/rules-users
>>
>
>
>
> --
>   Edson Tirelli
>   JBoss Drools Core Development
>   JBoss by Red Hat @ www.jboss.com
>
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
>
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>



-- 
  Edson Tirelli
  JBoss Drools Core Development
  JBoss by Red Hat @ www.jboss.com

_______________________________________________
rules-users mailing list
rules-users at lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users





More information about the rules-users mailing list