11.7.4 Linux Classic Appserver
We just recently switched from using state-reset to state-free. We are using the session:current-request-info:ClientContextID object in our activation procedure, on a classic statefree appserver, as a key to our context store. The assignment in the activation procedure is:
cClientContextID = SESSION:CURRENT-REQUEST-INFO:ClientContextID.
No other references to it are made and there is not a local handle variable for it.
In development environment, we have a procedure that checks for any objects left in memory; it is called from the agents shutdown event procedure. When agents get shutdown, the report for each agent show many Progress.Lang.OERequestInfo objects in memory.
It looks to me like it is a memory leak, but I'm not sure if the Abl GC cleans them up periodically and the ones left in memory just haven't been cleaned up before the agent shuts down.
Any thoughts?
I might look at this from the transaction standpoint. If you've got an open transaction (say in a persistent procedure) objects don't get cleaned up.
Use 4gltrans logging to verify that there are no open-ended transactions.