Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js CouchbaseError:操作超过客户端超时_Node.js_Timeout_Couchbase - Fatal编程技术网

Node.js CouchbaseError:操作超过客户端超时

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:操作超出客户端超时。检查网络状况或增加超时时间 现在最奇怪的

我正在运行couchbase server 3.0.1,带有NodeJS SDK。我已经设置了一个服务器,有两个存储桶,没有文档。我通过以下方式打开了一个连接:

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


有关更多信息,请参阅:

我认为谷歌集团被放弃了,取而代之的是我在那里找不到类似的问题,但我也在那里创建了一个帖子。以下内容仅供参考: