the svc name, when prefixed with _couchbase._tcp., (or _couchbases._tcp. for tls) can be used to to lookup the SRV DNS records for the nodes in the cluster. Then you can curl to those services that are http/s. Be sure that you have added your client to Allowed IPs on Capella. If you would just like to check connectivity, SDK Doctor is a better option. It does the lookup for you. The SDKs have the default Capella root certificate built-in, I believe that SDK Doctor has it as well.
Thanks for your reply.
In fact I am looking to check if the node is in rebalance or not. If it is the case, then I want to set the spring boot couchbase health indicator to down until the rebalance finish.
Can you please give me a full curl command ?
/pools/default/rebalanceProgress endpoint returns if the couchbase server is in rebalance or not, Am I wrong ?
In that case, spring boot application throw a timeout exception somewhere saying it is unable to connect to couchbase. Looking at couchbase logs, the reason is the rebalance.
Please show the exception and logging.
While the Couchbase SDK may log a timeout during a rebalance, it should be automatically retried on an active node.
c.c.c.c.e.UnambiguousTimeoutException: GetRequest, Reason: TIMEOUT {"cancelled":true,"completed":true,"coreId":"0x2c73426900000001","idempotent":true,"lastDispatchedTo":"svc-d-node-003.eyzzxl7n9mahkrjl.cloud.couchbase.com","reason":"TIMEOUT","requestId":5393539,"requestType":"GetRequest","retried":14,"retryReasons":["ENDPOINT_NOT_AVAILABLE"],"service":{"bucket":"my_bucket_name","collection":"my_collection_name","documentId":"my_document_id","opaque":"0x524d4e","scope":"_default","type":"kv","vbucket":984},"timeoutMs":2500,"timings":{"totalMicros":2501333}}
at c.c.c.core.msg.BaseRequest.cancel(BaseRequest.java:184)
at c.c.client.core.msg.Request.cancel(Request.java:71)
at c.couchbase.client.core.Timer.lambda$register$2(Timer.java:172)
at c.c.c.c.d.i.n.u.HashedWheelTimer$HashedWheelTimeout.run(HashedWheelTimer.java:715)
at c.c.c.c.d.i.n.u.c.ImmediateExecutor.execute(ImmediateExecutor.java:34)
at c.c.c.c.d.i.n.u.HashedWheelTimer$HashedWheelTimeout.expire(HashedWheelTimer.java:703)
at c.c.c.c.d.i.n.u.HashedWheelTimer$HashedWheelBucket.expireTimeouts(HashedWheelTimer.java:790)