We've recently started using classes in our application, but, when changing propath we receive the following error;
"WARNING: Propath change will cause library 'application.pl' to be closed which contains a running procedure. Library will remain open. (2311)"
Looking at the KB, it appeared the issue was due to using static properties/methods;
"Once a member of a static class has been referenced, the only way to remove it from the r-code cache is to shutdown the session"
However, even after re-factoring our code the remove all static references, the error still appeared.
After turning on client logging, we saw the following 2 lines appear in the log file when a object is deleted manually in the code;
[18/06/01@14:37:02.806+0100] P-010836 T-015500 2 4GL DYNOBJECTS Deleted Progress.Lang.Object Handle:1965 (initialise getdocstorecords.p @ 1524) AWSUtil[18/06/01@14:37:02.806+0100] P-010836 T-015500 3 4GL DYNOBJECTS Cached Progress.Lang.Object Handle:1965 (initialise getdocstorecords.p @ 1524) AWSUtil
i.e. a DELETED message followed by a Cached.
Looking into the cache further, it appears this can be controlled via a client start-up parameter reuseableobjects-;
Having set this to zero on our application, the propath change error goes away.
Now obviously there is a potential performance impact here, but, is this expected behavior?
No, it is not expected that we keep the cache under that scenario. Please, log a call with Technical Support.
Logged as case 00447025