【问题标题】:PouchDB Push Replication does not push new documentsPouchDB Push Replication 不推送新文档
【发布时间】:2018-01-09 14:05:46
【问题描述】:

我正在使用 PouchDB 5.2.1 版和 nodejs 0.10.26 版。最近我遇到了一个问题,在我的两个不同的 PouchDB 实例中,在一个实例中,推送复制工作正常,但在其他实例中,推送复制没有发生。 我进一步深入研究了库,发现在文件 pouchdb/lib/index.js 中调用了一个名为 startNextBatch() 的函数。在函数内部,我们正在检查条件

if (returnValue.cancelled || currentBatch) {
       return;
    }

在成功的情况下,currentBatch 是未定义的,因此代码没有返回并且发生了推送,但在失败的情况下,currentBatch 被定义并调用了返回。currentBatch 变量中存在的文档是之前被推送到的文档服务器,但由于一些其他问题无法同步回来,而且它们的检查点也无法更新,因此 currentBatch 变量没有被清除。

我的问题是:

1)如果我评论代码返回会有什么影响。

2)为什么因为定义了变量currentBatch而停止了推送复制。

【问题讨论】:

    标签: node.js replication couchbase pouchdb


    【解决方案1】:

    经过进一步调试,我发现复制已完全停止,状态码为 503 未知数据库错误。发生这种情况是因为我的同步网关存在一些问题,并且某些文档需要时间才能同步回来,因此编写检查点会引发 503 unknown error时间)。 PouchDB 库完全中止复制,之后没有推送发生。

    1) 如果我评论返回,当前文档将被推送,但由于复制被中止,将不会保存任何检查点。

    2) 推送复制没有停止,因为定义了 currentBatch。定义 currentBatch 是因为没有发生复制。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-04-30
      • 2020-11-11
      • 2013-08-15
      • 2020-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多