[Progress Communities] [Progress OpenEdge ABL] Forum Post: RE: Raising a QUIT on purpose in a StateFree AppServer session

  • Thread starter Thread starter slacroixak
  • Start date Start date
Status
Not open for further replies.
S

slacroixak

Guest
Thank you for your posts Laura. A few days after starting this discussion, we were realizing that our FINALLY blocks do not execute in case of a STOP condition that we even raise ourself on purpose in old pieces of biz logic that cannot yet throw an exception (well that's because of the callers would not be able to catch it yet, so we decided to not adopt the BLOCK LEVEL ON ERROR UNDO, THROW directive for those parts...). We now suppose this behaviour might cause share lock leaks with dynamic buffers that were supposed to be deleted in these FINALLY blocks. I am very glad the new behaviour of OE is to finally let these FINALLY blocks execute even (and especially) when a STOP is raised. Too sad we cannot upgrade to 11.7.4 for now... (stuck with 11.6.2 or 11.6.4, on too many sites) This STOP-ignores-FINALLY is probably the reason why I was trying to make my StateFree AppServer Agents QUIT gracefully. The situation happens rarely, but it can happen. I have found a fair way to clean up the offending dyn buffers, or possible persistent db-bound procedures (not seen on live yet... by the way it is a bit harder to handle db-bound classes like procedures because they do not offer a property like the procedure DB-REFERENCES attribute...) to avoid a QUIT, but quitting would be much easier and cheaper for such rare cases. Besides I believe it is a legitimate pattern to detect an agent is in a state that deserves a QUIT. Please le me know if you could suggest a way to achieve such a graceful QUIT.

Continue reading...
 
Status
Not open for further replies.
Back
Top