Hi Magnus,

thanks for having reported this. What you found is quite interesting and I will give a look at this issue asap.
In the meanwhile it would be great if you could open a ticket about it here: https://issues.jboss.org/browse/DROOLS

Thanks again and regards,

On Mon, Feb 11, 2013 at 10:56 AM, Magnus Vojbacke <magnus.vojbacke@digitalroute.com> wrote:



I run into memory issues when using marshaling or unmarshalling Drools stateful sessions.


I was going to send this to rules-users, but I think the content is too technical and implementation oriented to fit into that list.


It seems that the memory consumption increases after a session has been unmarshalled. That is to say: an unmarshalled session of size x uses  much more memory than if I had started with an empty session and inserted x number of facts.


Digging into a memory profile, I found that after unmarshalling, my ReteooStatefulSession instance holds on to a MarshallerReaderContext instance. The MarshallerReaderContext consumes a lot of memory.


Digging into the unmarshalling code, it seems that the MarshallerReaderContext is a utility class used during unmarshalling of sessions. Intuitively, it seems wrong that a reference to this object should be held after unmarshalling is finished.


Is this a bug in Drools? Would it be ok if I filed this as an issue at the Drools issue repository?

rules-dev mailing list