]
Mark Proctor resolved JBRULES-2315.
-----------------------------------
Resolution: Rejected
MVEL factories have been completely re-designed around the new indexed factories, so there
should be no problems now. open a new jira if you see continued problems in 5.2
DroolsMVELFactory leaks memory in previousDeclarationsObjectCache
field using "from" DRL construct
--------------------------------------------------------------------------------------------------
Key: JBRULES-2315
URL:
https://issues.jboss.org/browse/JBRULES-2315
Project: Drools
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: drools-core (expert)
Affects Versions: 5.0.1.FINAL
Environment: Windows/any
Reporter: Kurt Westerfeld
Assignee: Mark Proctor
When using the DRL construct to extract variables using a "from" clause, a
FromNode is created which extracts data using an instance of DroolsMVELFactory paired with
MVELDataProvider. After processing of rule agenda items, many of these nodes can exist
and hold onto memory due to the snapshot of data processed during
DroolsMVELFactory.setContext(), called from MVELDataProvider.getResults(). The
snapshotting of state is held in (HashMap) previousDeclarationsObjectCache of
DroolsMVELFactory.
Suggest that during MVELDataProvider.getResults() call clear on the DroolsMVELFactory
after obtaining the results. The clear method could clear out
previousDeclarationsObjectCache, which is used during the processing of the MVEL
expression.
In my application, much data held from these nodes kept instances of data in memory, even
though the data was never asserted into working memory.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: