在异步运行查询的情况下,客户端崩溃并显示错误:
com.couchbase.client.core.RequestCancelledException: Could not dispatch request, canceling instead of retrying.
连接设置:
final CouchbaseEnvironment env = DefaultCouchbaseEnvironment
.builder()
.queryEndpoints(1)
.retryStrategy(FailFastRetryStrategy.INSTANCE)
.build();
异步查询示例:
Observable<SiteData> dataList = bucket
.async()
.query(query)
.flatMap(AsyncN1qlQueryResult::rows)
.map(row -> new SiteData(row.value()));
答案 0 :(得分:0)
原因是queryEndpoints
设置为1,策略设置为FailFastRetryStrategy
,因此,异步运行两个请求将失败,因为只有一个端点,并且在任何异常情况下策略都会失败。
升级queryEndpoints
或将策略更改为BestEffortRetryStrategy
或同时执行以下操作:
final CouchbaseEnvironment env = DefaultCouchbaseEnvironment
.builder()
.queryEndpoints(2)
.retryStrategy(BestEffortRetryStrategy.INSTANCE)
.build();