我在Java中使用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异常。当然,我们没有从副本中获得文档,我们自己也遇到了一些例外。
我想知道我是否应该去中的副本,是否有异常?
谢谢,
Ido
发布于 2016-08-02 07:57:29
总是访问副本对某些类错误没有帮助,当然,比如DocumentDoesNotExistException。
对于其他可能表明集群范围内的问题的人来说,比如CouchbaseOutOfMemoryException,去副本是一个选项,但是可能会给集群带来更大的压力,使问题变得更糟。
最好是退让,等一会儿再试一次。
https://stackoverflow.com/questions/38698185
复制相似问题