[rules-users] 14GB of NotNodeLeftTuples produced by one rule?

Svenja Brunstein svenja.brunstein at gmail.com
Mon Jan 7 05:04:30 EST 2013


Hi all,

we observe a strange behavior with one of our rules. After deployment
and sending lots of events (~150,000 of type "a"), the server slows down
rapidly until it runs out of memory.
We checked with VisualVM which objects are filling the memory: In one
moment there were almost 14GB of NotNodeLeftTuples (88,933,186 Instances)!

This is our rule:

rule "example"
when
$evt1:EventObject(type=='a', $id:data['id'], $user:user) from entry-point
internalstream
$evt2:EventObject(type=='a', data['id']==$id, user!=$user, $user2:user)
from entry-point internalstream
not(EventObject(type=='b', user==$user, data['friendid']==$user2) from
entry-point internalstream)
then
EventObject evt = new EventObject();
evt.setType('b');
evt.setUser($evt1.getUser());
evt.put('friendid', $evt2.getUser());
entryPoints['internalstream'].insert(evt);
end

Is that behavior correct for such a size of event combinations when using a
NOT in the rule?

Thanks,
Svenja
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20130107/f39012c6/attachment.html 


More information about the rules-users mailing list