Unfortunately, solving that bug wouldn't help unless the load balancer can automatically detect that an app server is unavailable and stop sending connections to it. If that's the case, then right we should probably handle a signal telling the app server to:
1) stop accepting new connections
2) wait for existing ones to complete
3) restart
If the load balancer can detect 1) and 3) and take automatically in and out of the rotation the app server, then we have a solution. Otherwise, there is no alternative but to fiddle the load balancer config.
Unfortunately, solving that bug wouldn't help unless the load balancer can automatically detect that an app server is unavailable and stop sending connections to it. If that's the case, then right we should probably handle a signal telling the app server to:
1) stop accepting new connections
2) wait for existing ones to complete
3) restart
If the load balancer can detect 1) and 3) and take automatically in and out of the rotation the app server, then we have a solution. Otherwise, there is no alternative but to fiddle the load balancer config.