When it comes to clustering and more specific to the operators and how they switch between the servers specified, it is based on 2 operator settings which is explained now.
ServerRequestTimeout - This is the timeout for any request to the server. This timeout is by default set to 59 seconds but can be modified in the config settings. This should not be changed to anything lower than 30 seconds.
ClientPingInterval - This is the seconds it will take the operator to do a check to see if the server it is connected too is still active on the network. The default value is 15 seconds and it should not be set lower than 5 seconds.
Loosing a server connection could happen in 2 ways and is explained now with the above 2 settings in mind as well.
1. Graceful shutdown of the server
Closing the server application or shutting down the server services is suggesting a graceful exit of the application. In this scenario the server will make use of the ServerRequestTimeout to notify all the connected operators that it will exit such that the operators can disconnect gracefully as well. This notification from the server to the operators will occur as soon as the operator does the next check using the ClientPingInterval. As an example if OPERATOR1 is connected to a cluster server environment called MASTER_SERVER and STANDBY_SERVER and is currently connected to MASTER_SERVER, and the MASTER_SERVER is being closed down, then it could take the OPERATOR1 a maximum time of ClientPingInterval + (2 * ServerRequestTimeout) to switch over to the STANDBY_SERVER. Using our 5 and 30 second minimum values as specified above, you could wait a maximum 65 seconds for the switch-over.
2. A non-graceful shutdown of the server
This basically means a scenario where by the actual server application is END TASK performed on it or if the actual PC that the server application is running on is crashing. In this scenario the ClientPingInterval setting is used only and as such when the operator is doing the check to see if the server is alive it will immediately do a switch-over. Based on our example above it will take a maximum of 5 seconds for the operators to switch-over in this case.
Lastly the full cycle time for the switch-over will also include the re-login time on top of the switch-over time.