Couchbase async get或multi get

问题描述 投票:3回答:1

我正在尝试使用java客户端在couchbase上执行批处理操作。我使用的版本是1.4.6(我希望最新)。

问题是client.getBulk()和async都会产生超时异常 - 即使设置超时似乎没有帮助。见下面的代码。

for (int i = 0; i < keys.length; i++) {
    gets.add(client.asyncGet(keys[i]));
}    
for (GetFuture future : gets) {
    results.add(future.get(1, TimeUnit.SECONDS).toString());
}

任何想法为什么我得到这个例外,我该如何解决它?

Exception :
java.util.concurrent.ExecutionException:
net.spy.memcached.internal.CheckedOperationTimeoutException: 
    Operation timed out. - failing node: ip-172-31-44-108.ec2.internal/172.31.44.108:11210
at net.spy.memcached.internal.OperationFuture.get(OperationFuture.java:180)
at net.spy.memcached.internal.GetFuture.get(GetFuture.java:69)
java couchbase
1个回答
1
投票

在创建couchbase环境对象时设置keepAliveTimeout。将超时设置为100000000

DefaultCouchbaseEnvironment.builder().connectTimeout(couchbaseSetting.getConnectionTimeout())
            .keepAliveTimeout(couchbaseSetting.getKeepAliveTimeout())
            .queryTimeout(couchbaseSetting.getQueryTimeout())
            .socketConnectTimeout(couchbaseSetting.getSocketTimeout()).build()
© www.soinside.com 2019 - 2024. All rights reserved.