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