With the integration of
JCBC-27, the client will do an exponential backoff at construction time when the server is unavailable, and then throw an exception (from the ctor, unfortunately) if it could not complete.
There are scenarios where this isn't ideal. For example, if someone were to cut off power to a datacenter, the app servers will start up much faster than the Couchbase cluster will. Unfortunately, this means someone will need to go around and restart the app servers after the DB cluster is up.
This process should be improved and bootstrapping should no longer block construction. It should block operations (there is a latch for that), but not construction.