Hi All,
We have an application that uses drools stateless session over a set of 35000 objects
(taking about 40 MB heap) of different types. During profiling, I saw that for rules that
perform joins between two huge object types data sets, lots of org.drools.reteoo.LeftTuple
objects causing out of memory errors. We are using 5G heap, and have set property
drools.sequential=true too. Is there any way we can decrease the memory usage while
applying these rules? Drools documentation mentions for sequential mode, we should do the
following, some of them I am not sure how to set:
* Turn off all node memories, except the right-input Object memory.
* Disconnect the LeftInputAdapterNode propagation, and have the Object plus the Node
referenced in a Command object, which is added to a list on the WorkingMemory for later
execution.
* Assert all objects, when all assertions are finished and thus right-input node
memories are populated check the Command list and execute each in turn.
http://downloads.jboss.com/drools/docs/4.0.7.19894.GA/html_single/index.h...
Do we need to set some properties in RuleBaseConfiguration to make sure node memories are
switched off? It would be great if we can somehow decrease the memory usage for stateless
sessions? Has anybody come across such memory issues before? Correct me if I am wrong, but
I think 35000 objects is not a lot of data for causing such issues.
Thanks
Malay
--------------------------------------------------------------------------
NOTICE: If received in error, please destroy, and notify sender. Sender does not intend to
waive confidentiality or privilege. Use of this email is prohibited when received in
error. We may monitor and store emails to the extent permitted by applicable law.
--------------------------------------------------------------------------
NOTICE: If received in error, please destroy, and notify sender. Sender does not intend to
waive confidentiality or privilege. Use of this email is prohibited when received in
error. We may monitor and store emails to the extent permitted by applicable law.