[
https://issues.redhat.com/browse/DROOLS-4645?page=com.atlassian.jira.plug...
]
Mario Fusco updated DROOLS-4645:
--------------------------------
Sprint: 2019 Week 44-46 (from Okt 28), 2019 Week 47-49 (from Nov 18), 2020 Week 04-06
(from Jan 20) (was: 2019 Week 44-46 (from Okt 28), 2019 Week 47-49 (from Nov 18), 2020
Week 01-03 (from Dec 30))
High memory consumption with JIT
--------------------------------
Key: DROOLS-4645
URL:
https://issues.redhat.com/browse/DROOLS-4645
Project: Drools
Issue Type: Bug
Components: executable model
Affects Versions: 7.29.0.Final
Reporter: Radovan Synek
Assignee: Mario Fusco
Priority: Critical
Attachments: Screenshot from 2019-10-15 10-30-27.png, Screenshot from 2019-10-15
10-31-53.png
Employee Rostering example for OptaPlanner shows excessive memory consumption, which is
connected with Drools score calculation.
Please see the reproducer - running it without drools JIT finishes on time with 3GB of
memory while with drools JIT being active it fails due to "GC overhead limit
exceeded" despite the fact it god twice as much memory.
Logging (add -Dlogback.level.org.optaplanner=trace to the execute_jit.sh script) showed
there is a huge pillar move changing ~hundreds of entities which takes seconds to
calculate score. During this move's evaluation, the memory consumption increases to a
point when GC takes over and later fails.
Memory sampling and heap dump investigation showed there are ~10^7 objects of
org.drools.core.reteoo.FromNodeLeftTuple class, taking more memory than any other data
type in the VM.
See the attached screenshots.
--
This message was sent by Atlassian Jira
(v7.13.8#713008)