如何解决com.couchbase.client.core.RequestCancelledException:无法分派请求,取消而不是重试?

时间:2017-10-30 09:35:13

标签: couchbase

我正在使用Cocuhbase客户端2.5.0 jar,如下所述。 1)couchbase核-IO-1.5.0 2)couchbase-Java的客户端 - 2.5.0 3)rxjava-1.3.0

我按照几个博客和重试机制的建议改变如下: CouchbaseEnvironment env = DefaultCouchbaseEnvironment.builder()。queryEndpoints(2)                     .retryStrategy(BestEffortRetryStrategy.INSTANCE).build(); 这不起作用。 所以任何其他建议都欢迎。

1 个答案:

答案 0 :(得分:0)

如果您使用的是Java 2.5.x,而不是使用queryEndpoints,则应使用池配置。这将允许SDK根据需要动态创建和关闭更多连接,以防您的某些查询需要更长时间。通过说.queryEndpoints(2),你说只允许两个连接,这可能还不够。

对于类似的内容,请尝试使用以下方法进行诊断:

CouchbaseEnvironment env = (CouchbaseEnvironment) DefaultCouchbaseEnvironment
        .builder()
        .queryServiceConfig(QueryServiceConfig.create(2,50))
        .build();

这将为您提供最少2个,最多50个queryEndpoints。您可能需要调整生产工作负载的最大值,但如果这样会导致问题消失,我们就知道您已经耗尽了端点。