Hi

Personally I think that the WebApp timeout settings is something that is not that well understood.
The page "DataFlex%2019.1\Help\Administrator.chm::/General_WebApp_Server_Options.htm" should be improved with details specific to
  • Message timeout
  • Transaction timeout
  • Termination timeout


The page "DataFlex%2019.1\Help\ErrorCodes.chm::/WebApp_Warning_Messages.htm" has some more information, that is crucial when you are debugging and tuning these numbers.

My reasoning:
Web services are not just 'end points' anymore. They in themselves call other api's and thus need to be properly tuned to handle other API call's timing out and/ or waiting for lengthy calls.

My assumptions:
Windows event log, Event ID error 201A child process does not respond, unconditionally terminating the process ProcessName.When many of these errors are in the logs; this could be due to a DataBase driver being 'too slow' to respond within the timeout setting "Termination timeout", perhaps when the Min pool is exhausted and a new WebApp needs to be loaded. Set from 5 sec, to 20 sec to debug.

Windows event log, Event ID error 202 ApplicationName Session: SessionId From: IPAddressOfRequest A timeout occurred during transaction call. Session aborted and all pending i/o cancelled.These entries show when a running pooled WebApp.exe does not respond back to the WebApp Services within the "Transaction timeout". If you have a process that could take more than the setting (Default 2 min), you find 202 errors in the Windows event logs and your caller would receive errors like Status 500. Debug by doubling the setting to 4 minutes, however be careful as this might just move the timeout to IIS or the Browser's timeout settings.

Windows event log, Event ID error 203 Application: ApplicationName Session: SessionId From: IPAddressOfRequest A timeout occurred during message transfer. Session aborted and all pending i/o cancelled.
This one seems to be linked to the "Message timeout" according to the text on the 2nd link I sent. But I am unclear on how exactly this one would be triggered (a spinning WebApp after it went back into the pool, lost database connection ?!?)

My Suggestion to DAW:
Extend the help page called from the timeout dialog "General Server Options", with mentioning each of the timeout, with some explanation and the error number you find in the windows logs when these timeouts have occurred. I also think a link from this help page to the "Web Applications Warning Messages" page should be added. As well as a link back, when the user has searched by the error, to understand where to tune these.

To all other developers, please add/amend any of my text so we can build collective knowledge on when to tune these timeout settings.

Kind regards
Marco