KNOWLEDGE BASE
Log In    |    Knowledge Base    |    4D Home
Tech Tip: What is the true Application server timeout?
PRODUCT: 4D | VERSION: 12 | PLATFORM: Mac & Win
Published On: March 14, 2011

(This Tech Tip applies to both 4D v11 SQL and 4D v12; the situation for 4D v11 SQL is explained first)

In 4D v11 SQL there are 3 connections made to the server for every global client process:

  • Application server (19813 default)

  • DB4D server (19814 default)

  • SQL server (19812 default)

As explained in Technical Note 10-31, Mastering 4D Timeouts & Connectivity Settings the timeout for Application server connections is governed by the 4D Server and 4D Remote Mode Timeouts (collectively referred to as Client-Server Connections Timeout) available in the database Preferences and also available as database parameters. In particular these values are used to determine the timeout dynamically at runtime; in other words checking the value only on a client or the server with Get database parameter will not necessarily provide the timeout actually in use. The true timeout is negotiated at runtime. In particular if the client and server have different values, the lowest value is always used.

It is important to note that in 4D v11 SQL the 4D Remote Mode timeout may be set and saved per-client. This means that in a system with multiple clients, the lowest 4D Remote Mode Timeout value among all clients would be taken into account. Thus to get an accurate value of the true runtime client-server timeout, the 4D Remote Mode timeout value must be checked on each and every client.

In 4D v12 both the 4D Remote Mode and 4D Server timeouts still need to be checked but the 4D Remote Mode timeout value is shared among (and propagates to) all clients. Only a single client would need to be checked to get the current value.

Once both the 4D Server and 4D Remote Mode timeout values are obtained, simply find the lowest value. This is the true runtime Application server timeout.

See Also: