[rules-users] GC Overhead Limit Exceeded and 1B JoinLeftNode Objects

Julian Klein julianklein at gmail.com
Wed Feb 27 09:00:50 EST 2013


I wanted to circle back before this thread gets too far off the original
topic and folks searching in the future don't get confused.  I am still
confused between the 'or' and '||' as explained here and in the
documentation.  I will attempt to review this in more detail.  In the
meantime, I have simplified my rules per the above comments and am able to
run them with about 10M facts in under 3 hours.  The system required more
than 40GB of RAM.  I am chunking the data and running multiple threads.  I
will look to reduce the overhead where possible as I am certain their are
further improvements that can be made.  Once I complete out my refactoring
and reviews, I'll circle back again.  Needless to say, things have moved in
a very positive direction.  I am not sure what memory expectations I should
have so I'll take a complete run in this timeframe without errors as a win.

Thank you, Wolgang and Mark.  You guys have been fantastic!


On Mon, Feb 25, 2013 at 3:13 AM, Mark Proctor <mproctor at codehaus.org> wrote:

>
> On 25 Feb 2013, at 06:46, Wolfgang Laun <wolfgang.laun at gmail.com> wrote:
>
> > On 24/02/2013, Mark Proctor <mproctor at codehaus.org> wrote:
> >
> >>>    when
> >>>      $sv1 : SiteVisit( yearRecorded == durationCycleYear, !annualVisit
> )
> >>>      FaultCode( $sv1.ID==svID, code matches "366.\\d+|743.3\\d?" )
> >>>      $inspector: Insepector (ID == $sv1.insepectortID)
> >>>
> >>>      $sv2 : SitVisit( yearRecorded == durationCycleYear, !annualVisit )
> >>>      #make sure we are dealing with the same inspector
> >>>      Inspector (ID == $sv2.inspectorID, EUID == $inspector.EUID)
> >>>
> >>>      ( FaultCode( $sv2.ID == svID, code matches "45.61" ) or
> >>>                  ServiceCode($sv2.ID == svID, code matches
> >>> "66(8[4-9][0-9]|9([0-3][0-9]|40))|66982|66984|66983" ) )
> >>>
> >> same here
> >>
> >> Are you sure you want 'or' and not ||.
> >
> > Mark, how would you suggest to avoid 'or' and use '||' (and I don't
> > mean the deprecated alternative to 'or')? You are beginning to confuse
> > (even) me!
> Many people do not want CE 'or' they want infix '||' used in compound
> expressions. I later clarified the difference in the follow up email.
>
> Mark
> >
> > -W
> >
> >> The 'or' CE can result in two rules
> >> firing, if they are not mutually exclusive logical conditions.
> > _______________________________________________
> > 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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20130227/d10bb1e0/attachment.html 


More information about the rules-users mailing list