【发布时间】:2016-05-06 22:44:59
【问题描述】:
我正在使用 PouchDB 5.3 和 Couchbase Sync Gateway 1.2 以及同步功能。当我使用一小组记录(20 .. 50)时,它可以正常工作。 但是我在使用 3K 时遇到了问题,因为第一次尝试同步时,它向服务器发出了大约 17K 的请求。
这是有这个问题的配置:
this.sync = function(remoteDatabase, onComplete, onError) {
database.sync(remoteDatabase, {
live: true,
retry: false
}).on('change', function(change) {
// yo, something changed!
console.log("Sync Change");
}).on('paused', function(info) {
// replication was paused, usually because of a lost connection
console.log("Sync Paused");
if (onComplete)
onComplete();
}).on('active', function(info) {
// replication was resumed
console.log("Sync Active");
}).on('error', function(err) {
// totally unhandled error (shouldn't happen)
console.log("Sync Error", err);
if (onError)
onError();
}).on('complete', function(info) {
console.log("Sync Complete");
}).then(function(info) {
console.log("Sync Complete");
});
}
此外,无法检测到这 17k 个请求何时完成。
如果我将 live 方法设置为 false,它只有大约 3k 个请求,但之后,当双方中的任何一方进行一些更改时,就无法同步。
这是一组重复请求(具有不同的 uuid)
http://...._bulk_docs?_nonce=1457702282722
http://...._bulk_docs?_nonce=1457702282722
http://....._revs_diff?_nonce=1457702282818
http://....._revs_diff?_nonce=1457702282818
http://....._local/EhRrzqajjvWCiEqNXBk87A%3D%3D?
http://....._local/EhRrzqajjvWCiEqNXBk87A%3D%3D?
知道如何防止这 17k 个请求吗?
如果这是强制性的,关于如何检测一次的任何想法都完成了吗?
谢谢!
【问题讨论】:
-
我看到了类似的结果——可能是同一个问题。我重复了相同的三个请求,但没有随机数。这似乎用于增加每个同步文档的本地序列计数器。然而,数据同步本身使用带有
_changes和_all_docs的批处理
标签: synchronization pouchdb couchbase-sync-gateway