In the couchbase java sdk documentation, the cluster state diagnostic is specified as degraded when at least one node is connected. However, cluster state is expected online for couchbase health indicator in method isCouchbaseUp in class CouchbaseHealth and this makes the application look unhealthy while couchbase is at least operational.

Comment From: pivotal-issuemaster

@Rohatsahin Please sign the Contributor License Agreement!

Click here to manually synchronize the status of this Pull Request.

See the FAQ for frequently asked questions.

Comment From: pivotal-issuemaster

@Rohatsahin Thank you for signing the Contributor License Agreement!

Comment From: wilkinsona

Thanks for the suggestion but it is contrary to the recommendation that we received from the Couchbase team. We could perhaps make the mapping of ClusterState.DEGRADED configurable, but I don't think we should change the default behaviour.

Comment From: Rohatsahin

thanks, @wilkinsona, we encountered this situation when a node exits the cluster and this situation affects the readiness probe in Kubernetes. I think then we'll have to remove the couchbase health indicator when use with Kubernetes probes or we will add it as custom instrumentation

Comment From: wilkinsona

It's worth giving some thought to which external services belong in the readiness group as, if that service is shared, a single outage can lead to cascading failures as all application instances report that they aren't ready to handle traffic.

If you'd like us to consider making whether DEGRADED maps to UP or DOWN configurable, please open an issue. Thanks again for the pull request, but I think it's best that we close this one as we don't want to change the default behaviour.