我使用带有 Java SDK 的 couchbase 4.0.1。
这是我的代码:
bucket.async()
.get(key)
.onErrorResumeNext(throwable -> {
if (throwable instanceof TimeoutException) {
return getBucket().async().getFromReplica(key, ReplicaMode.ALL);
}
return Observable.error(throwable);
})
.map(doc -> doc.content())
.toBlocking()
.singleOrDefault(null);
如果我得到 TimeoutException - 我去副本,但上周,由于一个严重的问题,我们从我们的一台服务器得到了 OutOfMemory 异常。当然,我们没有从副本中获取文档,我们自己也遇到了一些例外情况。
我想知道我是否应该在任何异常情况下去副本?
谢谢,
我愿意