Details
-
Improvement
-
Resolution: Won't Do
-
Critical
-
1.3.0, 1.3.2
-
None
Description
Somewhat regularly we get a service call about a failed bootstrap at openBucket() time. It usually looks something like this:
Exception in thread "main" java.lang.RuntimeException: java.util.concurrent.TimeoutException
|
at com.couchbase.client.java.util.Blocking.blockForSingle(Blocking.java:71)
|
at com.couchbase.client.java.CouchbaseCluster.openBucket(CouchbaseCluster.java:290)
|
at com.couchbase.client.java.CouchbaseCluster.openBucket(CouchbaseCluster.java:271)
|
Given that our bootstrap is a pretty clear set of state transitions and timeouts can occur at different levels, I think it'd be better if rather than expect the user to increase the logging we track the bucket bootstrap sequence and print out better diagnostic information, maybe even with hints on how to resolve the situation.
If for instance, we see we're failing back to HTTP config, we can print that out. If we see that we tried for 10s but couldn't connect, we can print that out, etc.