com.couchbase.client.core.CouchbaseException: NOT_EXISTS: "unknown pool"

Couchbase Java Client - 2.7.13
Couchbase server version - 6.6.2

A logic to get couchbase cluster version looks like following -

  private Version fetchCouchbaseVersion() {
    try {
          CouchbaseCluster cbCluster = CouchbaseCluster.create(cbEnvironment, seeds);
          cbCluster.authenticate("username", "password");
            return new DefaultClusterInfo(
              cbCluster.clusterManager().info().raw()).getMinVersion();
         } finally {
          try {
              cbCluster.disconnect();
          } catch (Exception e) {
            logger.error("CouchbaseCluster disconnect failed.");
          }
        }
   }

Sometimes fails with following -

com.couchbase.client.core.CouchbaseException: NOT_EXISTS: "unknown pool"
        at com.couchbase.client.java.cluster.DefaultAsyncClusterManager$3.call(DefaultAsyncClusterManager.java:132)
        at com.couchbase.client.java.cluster.DefaultAsyncClusterManager$3.call(DefaultAsyncClusterManager.java:125)
        at rx.internal.util.ActionObserver.onNext(ActionObserver.java:39)
        at rx.internal.operators.OnSubscribeDoOnEach$DoOnEachSubscriber.onNext(OnSubscribeDoOnEach.java:96)
        at rx.internal.operators.OnSubscribeRedo$2$1.onNext(OnSubscribeRedo.java:244)
        at rx.internal.operators.OperatorMerge$MergeSubscriber.emitScalar(OperatorMerge.java:395)
        at rx.internal.operators.OperatorMerge$MergeSubscriber.tryEmit(OperatorMerge.java:355)
        at rx.internal.operators.OperatorMerge$InnerSubscriber.onNext(OperatorMerge.java:846)
        at rx.observers.Subscribers$5.onNext(Subscribers.java:235)
        at rx.internal.operators.OnSubscribeDoOnEach$DoOnEachSubscriber.onNext(OnSubscribeDoOnEach.java:101)
        at rx.internal.producers.SingleProducer.request(SingleProducer.java:65)
        at rx.Subscriber.setProducer(Subscriber.java:211)
        at rx.Subscriber.setProducer(Subscriber.java:205)
        at rx.Subscriber.setProducer(Subscriber.java:205)
        at rx.subjects.AsyncSubject.onCompleted(AsyncSubject.java:103)
        at com.couchbase.client.core.endpoint.AbstractGenericHandler.completeResponse(AbstractGenericHandler.java:508)
        at com.couchbase.client.core.endpoint.AbstractGenericHandler.access$000(AbstractGenericHandler.java:86)
        at com.couchbase.client.core.endpoint.AbstractGenericHandler$1.call(AbstractGenericHandler.java:526)
        at rx.internal.schedulers.ScheduledAction.run(ScheduledAction.java:55)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
Caused by: rx.exceptions.OnErrorThrowable$OnNextValue: OnError while emitting onNext value: com.couchbase.client.core.message.config.ClusterConfigResponse.class
        at rx.exceptions.OnErrorThrowable.addValueAsLastCause(OnErrorThrowable.java:118)
        at rx.exceptions.Exceptions.throwOrReport(Exceptions.java:188)
        at rx.internal.operators.OnSubscribeDoOnEach$DoOnEachSubscriber.onNext(OnSubscribeDoOnEach.java:98)

Upgrade to (at least) SDK 2.7.16

see Loading...

That issue is referenced by a CBSE that describes the “unknown pool” issue.

Thanks @mreiche .

Yes, the seed node used here is a FQDN which resolves to all the couchbase server nodes.

https://issues.couchbase.com/browse/JCBC-1642 - ClusterManager must use resolved SeedNodes

This was my next strategy to test, to resolve the FQDN first and then pass the resolved IPs as the seed nodes, but I guess is already taken care by above fix.

Thanks

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.