-
Bug
-
Resolution: Done
-
Major
-
7.29.0.Final
-
None
-
None
-
2019 Week 47-49 (from Nov 18)
-
-
NEW
-
NEW
When running our engine in STREAM mode, we notice a number of Drools internal object references increasing time even though the fact count stays relatively constant.
jmap -histo <pid> shows:
num #instances #bytes class name ---------------------------------------------- 1: 17478466 1258449552 java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask 2: 17475174 699006960 org.drools.core.time.impl.JDKTimerService$JDKJobHandle 3: 17762331 568394592 java.util.concurrent.ConcurrentHashMap$Node 4: 17475174 559205568 org.drools.core.rule.SlidingTimeWindow$BehaviorJobContext 5: 17475174 559205568 org.drools.core.time.impl.DefaultTimerJobInstance 6: 8596776 551411680 [C 7: 18898675 453568200 java.lang.Long 8: 17475174 419404176 org.drools.core.time.SelfRemovalJobContext 9: 17475174 279602784 org.drools.core.time.SelfRemovalJob 10: 17475174 279602784 org.drools.core.time.impl.PointInTimeTrigger 11: 9263698 222328752 java.lang.String 12: 4584671 146709472 java.util.HashMap$Node 13: 246658 138804176 [B
These number continue to increase over time until the system OOMs.
Graph for # of facts in the session looks like:
The engine is fairly busy - we're constantly adding and removing facts.
Our rules are available here:
https://github.com/OpenNMS/opennms/blob/opennms-25.0.0-1/opennms-base-assembly/src/main/filtered/etc/alarmd/drools-rules.d/alarmd.drl#L234