[Progress Communities] [Progress OpenEdge ABL] Forum Post: Stopping agent processes "gracefully" still breaks client apps using .Net openclient

Status
Not open for further replies.
D

dbeavon

Guest
I'm doing some testing with the "graceful" stopping of agents in PASOE. This doesn't seem to be working as expected. I'm doing my current testing on a PASOE developer workstation (PDSOE installation). OE version is OE 11.7.4. Here is how I make the request for the agent to be stopped... I do this while the appserver is under heavy load (lots of concurrent "state-reset"-type requests are being made every second). Instead of a "graceful" shutdown whereby the agent prevents new clients from connecting, and waits for old clients to finish, I see something totally different happening. I see that this dialog returns control to me instantly (as soon as I click "stop"). At the same moment, a lot of my openclients on .net will fail with a generic communication exception from Proxy.ProObject.Dispose (which is executed while the proc-object is being disposed at the end of the using statement in c#). Here is the callstack. Progress.Open4GL.Exceptions.Open4GLException HResult=0x80131500 Message=Communication layer message: General Error: read() error= 4. (7175) Source=Progress.o4glrt StackTrace: at Progress.Open4GL.DynamicAPI.Session.deleteProcedures1(PersistentProc procedure, Boolean noLock, ProcListDataTable pSet, DataTableMetaData pMeta) at Progress.Open4GL.DynamicAPI.Session.deleteProcedures(PersistentProc procedure, ProcListDataTable pSet, DataTableMetaData pMeta) at Progress.Open4GL.DynamicAPI.PersistentProc.delete() at Progress.Open4GL.Proxy.Procedure.Dispose(Boolean disposing) at Progress.Open4GL.Proxy.ProObject.Dispose() at UFP.LumberTrack.AppServer.KPI.BranchWeekSumsProxy.CalculateiSums(IHaveAppServerInfo p_AppServerInfo, ... So I don't think the "graceful" stopping of an agent is implemented properly. At least not for "state-reset"-style appserver connections from the .net openclient. The only other explanation I can think of is that this could be a side-effect of the limitation in the development license of PASOE, whereby there is a restriction on the number of agent processes that can run in an ABL application. The development license only allows one agent process. Perhaps this restriction is also causing misbehavior in "graceful" stop operations. (Ie. in the same scenario a production PASOE server would be able to spawn a "secondary" agent during the graceful stop operation of another agent. But the development PASOE must do an instant-kill-all instead???). Has anyone else had better luck withe the "graceful" stopping of an agent process in PASOE (via the OEE administration console)? Thanks, David

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