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