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?