Drain Time

L7 Connection Drain Time impacts only new connections. Existing connections will continue relaying application data to a disabled server until that connection is terminated, unless the Drop at Drain Time End checkbox is selected.

Setting the L7 Connection Drain Time (secs) to ‘0’ will force all the connections to be dropped immediately when a Real Server is disabled

When a new connection is received, the first thing that is checked is whether persistence is enabled. If it is not, the connection is scheduled to a server which is enabled and healthy. If it is, the connection is checked to see if it matches an existing persistence record. If it does not, the connection is scheduled to a server which is enabled and healthy and a new persistence record is created. If the persistence record exists, the persistent server state is checked.

If the server is down, the persistence record is discarded, the connection is scheduled to an enabled and healthy server and a new persistence record is created. If the server is up, the connection is sent to the specified server and the persistence record is refreshed. If the server is disabled, we then check the service type.

If the service is operating at Layer 4, drain stop does not apply. In this case, the persistence record is discarded, the connection is scheduled to an enabled and healthy server and a new persistence record is created. If the service is operating at Layer 7, we then check the Drain Stop timer. If the timer is not expired, the connection is sent to the specified server and the persistence record is refreshed. If the Drain Stop timer has expired, the persistence record is discarded, the connection is scheduled to an enabled and healthy server and a new persistence record is created.

In short, new TCP connections will be sent to disabled servers if:

- Persistence is on.

- A persistence record exists and is not expired.

- The persistence record specifies a server which is disabled.

- The service is operating at Layer 7.

- The Drain Stop timer has not expired.

- The Drain Stop timer (currently) does not impact existing connections.

Was this article helpful?

1 out of 1 found this helpful

Comments

Avatar
clark.taylor

Also I have read the below;
In short, new TCP connections will be sent to disabled servers if:

- Persistence is on.

- A persistence record exists and is not expired.

- The persistence record specifies a server which is disabled.

- The service is operating at Layer 7.

- The Drain Stop timer has not expired.

- The Drain Stop timer (currently) does not impact existing connections

Does this mean that for example if a server fails the health check, for the duration of the persistence time, users will be directed into a black hole until the persistence expires and the connection is refreshed?

Many thanks

Clark

Avatar
Andres Garcia de Alba

Hello Clark,

If the server is down (failed health check), the persistence record is discarded, the connection is scheduled to an enabled and healthy server and a new persistence record is created.