Hi,
I have come across a few bug reports [1][2] (and a feature request from the Swarm team) recently that are essentially caused by an application being accessed before it is fully deployed. Basically even though we have service dependencies that make sure individual components dependencies are up, once a request has been accepted it can potentially programmatically access other parts of the deployment that are not up yet (basically the same problem we have with graceful shutdown, but in reverse).
I propose we solve this using a 'graceful startup' mechanism, that holds or rejects new requests until a server or deployment is fully started. The specifics of how this would work are:
- If the server is booting all external requests will be held or rejected until the the boot process is complete