Node.js CouchbaseError:操作超过客户端超时
我正在运行couchbase server 3.0.1,带有NodeJS SDK。我已经设置了一个服务器,有两个存储桶,没有文档。我通过以下方式打开了一个连接:Node.js CouchbaseError:操作超过客户端超时,node.js,timeout,couchbase,Node.js,Timeout,Couchbase,我正在运行couchbase server 3.0.1,带有NodeJS SDK。我已经设置了一个服务器,有两个存储桶,没有文档。我通过以下方式打开了一个连接: var dbCluster=newcouchbase.Cluster([my_host]); var db=dbCluster.openBucket([my_bucket_name]) 当我尝试执行“db.upsert”时,会出现以下错误: 错误:CouchbaseError:操作超出客户端超时。检查网络状况或增加超时时间 现在最奇怪的
var dbCluster=newcouchbase.Cluster([my_host]);
var db=dbCluster.openBucket([my_bucket_name])代码>
当我尝试执行“db.upsert”时,会出现以下错误:
错误:CouchbaseError:操作超出客户端超时。检查网络状况或增加超时时间
现在最奇怪的是,文档仍然被添加。因此,命令执行成功,但仍返回错误。此外,调用执行得非常快,而且绝对不会花费2.5秒(默认操作超时)
以下内容:我已尝试通过以下方式增加超时:
db.operationTimeout=5000代码>
这不起作用。调用再次成功执行,但返回超时错误,即使指定的超时没有通过(调用非常快,比5秒快得多)
我能找到的唯一其他支持是在这个谷歌群组中,但它似乎已经死了:
我正在运行OSX Yosemite 10.10.2。我真的很感激你的帮助,因为我不知道下一步该去哪里
谢谢,
以下是代码供参考:
var couchbase = require('couchbase');
var dbCluster = new couchbase.Cluster("mylocalhostname");
var db = dbCluster.openBucket( "mybucketname", function(err){
// no errors here
if(err){
console.log("Can't open bucket");
throw err;
}
else {
console.log("Successfully opened bucket");
}
});
db.operationTimeout = 5000;
db.upsert("docname", someJSON, function(err, result){
if(err){
// get an error here, even though the call successfully executes
return console.log("Error: " + err);
}
});
原来问题出在集群连接上。根据文档,我将我的连接指定为:
"couchbase://my.domain.com", where "my.domain.com" pointed to 127.0.0.7.
删除“couchbase://”解决了我的问题。因此,通过以下方式连接:
"my.domain.com"
"couchbase://127.0.0.7"
解决了这个问题。有趣的是,通过以下方式连接:
"my.domain.com"
"couchbase://127.0.0.7"
同样有效。不确定它们之间的关系,以及它如何仍然能够更新文档,但这为我解决了这个问题。如果有人能给出更令人满意的答案,我不会将其标记为已接受。我对AWS上的CouchBase也有同样的问题。我通过向任何人开放以下端口解决了此问题:
22 tcp 0.0.0.0/0
4369 tcp 0.0.0.0/0
4984 tcp 0.0.0.0/0
8080 tcp 0.0.0.0/0
8088 tcp 0.0.0.0/0
8091 tcp 0.0.0.0/0
8092 tcp 0.0.0.0/0
11209 tcp 0.0.0.0/0
11210 tcp 0.0.0.0/0
11211 tcp 0.0.0.0/0
11214 tcp 0.0.0.0/0
11215 tcp 0.0.0.0/0
18091 tcp 0.0.0.0/0
18092 tcp 0.0.0.0/0
有关更多信息,请参阅:我认为谷歌集团被放弃了,取而代之的是我在那里找不到类似的问题,但我也在那里创建了一个帖子。以下内容仅供参考: