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